Maison > Questions et réponses > le corps du texte
Il se trouve que j'ai un projet intéressant à réaliser pendant que j'apprends Java Web.
Notre école exige des cartes de crédit pour les courses matinales. Le Service des Sports met à disposition un site de renseignements, mais ne fournit pas d'interface.
Je souhaite créer un backend de site Web/WeChat pour capturer les informations du site Web de l'école et les stocker dans une base de données. Les utilisateurs peuvent ensuite vérifier leurs dossiers en cours via mon site Web/WeChat. Et affichez les classements et d’autres fonctions basées sur ces enregistrements.
Pour interroger, il vous suffit de fournir votre numéro d'étudiant et votre nom. Ces données sont déjà disponibles.
La connexion simulée est implémentée à l'aide de httpclient. La page entière est obtenue
La page est un tableau affichant les enregistrements. Que faut-il utiliser pour extraire les données de la page ?
Concernant la direction du web java, j'utiliserai uniquement jsp pour écrire un ajout, une suppression, une modification et une vérification. Je ne sais pas grand chose de ce qui suit.
Je souhaite effectuer une telle opération d'exploration de gestion en arrière-plan pour renvoyer la requête de l'utilisateur.
Par où dois-je commencer à apprendre ? Ou quel type de technologie/cadre est utilisé ?
À propos du site Web de requête :
Un élément est le nombre d'exercices de course.
Ce qui suit est l'enregistrement correspondant. Chaque enregistrement affiche la durée d'exécution, spécifique à la minute.
L'exploration n'est pas la partie la plus difficile. Le problème est de savoir comment construire un tel système de gestion. Il n'y a aucune idée sur la façon de développer une pile complète Web complète.
Je réalise que je ne peux pas commenter. . .
Merci !
PHP中文网2017-06-12 09:21:16
Je l'ai juste dit avec désinvolture, parce que je n'ai pensé à aucune méthode.
Utilisez Jsoup pour explorer les données de la page, haha
代言2017-06-12 09:21:16
Pensez à quelques points, parlons brièvement :
1. Capture de données, vous pouvez écrire votre propre programme d'exploration, formuler des règles de temps pour l'exploration des données, etc.
2. Traitement des données, capturer le contenu de la page Web via jsoup ou. autre Méthode pour extraire le contenu efficace de la page Web et concevoir la structure des données. L'ID d'étudiant doit être unique. Il peut y avoir une table d'étudiant et une table d'enregistrement de course du matin, qui sont liées via l'ID d'étudiant 3. Ma compréhension personnelle. est de trier par le nombre de fois, car après y avoir réfléchi, si le tri par heure est déraisonnable, car il n'y a aucun moyen de juger l'heure réelle du matin, alors je parlerai simplement par le nombre de fois ici. stocker directement le champ du nombre d'exécutions dans la table des étudiants, réduire les requêtes via la table d'enregistrement et améliorer l'efficacité signifie conserver ce champ lorsque le traitement des données est requis
三叔2017-06-12 09:21:16
D'une manière générale, vous obtenez les données souhaitées (comme le package jsoup) basées sur l'élément httpclient
这样的工具将返回包拿到,解析报文实体(这里指html
页面),接下来就是利用xpath
、正则、类似于jQuery
方式解析DOM
Si c'est encore trop gênant, vous pouvez utiliser le framework webmagic
巴扎黑2017-06-12 09:21:16
Simuler la connexion : utilisez un navigateur pour ouvrir la page de connexion et observez l'URL qui reçoit l'identifiant et le mot de passe de l'étudiant ; publiez les données sur l'URL lors de la simulation de connexion ; analysez les informations du champ Set-cookie de l'en-tête de réponse
Capture de données : lancez une demande d'obtention sur la page de données sportives (apportez le champ de cookie obtenu à l'étape précédente), obtenez la réponse, puis effectuez une analyse régulière pour obtenir les données
Recommandation : pour mettre en cache les données que les utilisateurs interrogent à chaque fois, par exemple pendant 2 heures, il est recommandé d'utiliser redis ; la base de données peut stocker les données interrogées, récupérez d'abord les données de redis, si elles ne peuvent pas être récupérées, simulez la connexion pour obtenir de nouvelles données. Quant à la couche base de données, je pense personnellement qu'elle n'est pas nécessaire si elle est disponible, vous pouvez également effectuer une analyse des données et ainsi de suite
.