当前位置:网站首页>Reptiles

Reptiles

2021-09-15 05:09:29 Base des programmeurs


Qu'est - ce qu'un reptile?

Les reptiles sontDemandeSite Web etExtractionLes donnéesAutomatisationProcédure


Processus de base du crawler

  • Demande d'initiation:AdoptionHTTPLa Bibliothèque lance une demande au site cible,C'est - à - dire envoyer unRequest,La demande peut contenir desheadersAttendez les informations,Attendre la réponse du serveur.
  • Obtenir le contenu de la réponse:Si le serveur répond correctement,J'en aurai un.Response,ResponseC'est le contenu de la page que vous voulez obtenir,Les types peuvent avoirHTML,JsonString,Données binaires(Comme la vidéo d'image)Isotype.
  • Analyser le contenu:Ce que vous obtenez peut êtreHTML,Vous pouvez utiliser des expressions régulières、Bibliothèque d'analyse de page Web pour l'analyse,Ça pourrait êtreJson,Peut être converti directement enJsonRésolution d'objets,Peut - être des données binaires,Peut être sauvegardé ou traité plus avant
  • Enregistrer les données:Les formes de conservation sont variées,Peut être sauvegardé sous forme de texte,Peut également être sauvegardé dans la base de données,Ou enregistrer un fichier dans un format spécifique

Insérer la description de l'image ici


RequestContenu inclus:

  • Mode de demande(Principalement:GET、POSTDeux types)
  • DemandeURL(URLNom complet localisateur de ressources unifié,Comme un document Web、Une image、Une vidéo peut être utiliséeURLC'est le seul moyen de déterminer)
  • En - tête de la demande(Contient les informations d'en - tête au moment de la demande,Par exemple:User-Agent、Host、CookiesAttendez les informations)
  • Corps demandeur( Données supplémentaires sur demande , Comme les données du formulaire au moment de la soumission du formulaire )

ResponseContenu inclus:

  • État de la réponse( Il y a plusieurs états de réponse ,Par exemple:200Pour le succès、301Saut、404 Page introuvable 、502Erreur du serveur)
  • En - tête de réponse( Par exemple, type de contenu 、Longueur du contenu、Informations sur le serveur、ParamètresCookieAttendez un peu!)
  • Corps de réponse( La partie la plus importante , Contient le contenu de la ressource demandée , Comme une page Web HTML、 Données binaires d'image, etc. )

Quelles données saisir ?

  • Texte de la page Web (Par exemple:HTMLDocumentation、Json Formatage du texte, etc. )
  • Photos( Obtenir un fichier binaire , Enregistrer au format image )
  • Vidéo( Aussi binaire , Enregistrer au format vidéo )
  • Autres( Dès que possible. ,Vous pouvez obtenir)

Comment analyser ?(Méthode analytique)

  • Traitement direct ( Le contenu retourné est relativement simple ,Par exemple,:String)
  • JsonAnalyse(AdoptionAJAX Données chargées )
  • Expression régulière
  • BeautifulSoupAnalyser la bibliothèque
  • PyQueryAnalyser la bibliothèque
  • XPathAnalyser la bibliothèque

Pourquoi les données saisies sont - elles différentes de ce que le navigateur voit? ?

  • JavaScriptProblèmes de rendu
  • La solution:
    1. AnalyseAjaxDemande
    2. UtiliserSelenium/WebDriver Conduire un navigateur pour simuler le chargement d'une page Web
    3. SplashBibliothèque

Comment enregistrer les données ?

  • Texte(Texte simple、Json、XmlAttendez.)
  • Base de données relationnelle(Par exemple:MySQL、Oracle、SQL Server Stockage structuré sous forme de table, etc. )
  • Base de données non relationnelle(Par exemple:MongoDB、RedisAttendez.Key-ValueStockage formel)
  • Binaires(Comme les photos、Vidéo、 L'audio, etc., est sauvegardé directement dans un format spécifique )

版权声明
本文为[Base des programmeurs]所创,转载请带上原文链接,感谢
https://chowdera.com/2021/09/20210915050047048o.html

随机推荐