


Introduction à la méthode d'écriture de base de la fonction Python Web Crawler
Cet article présente principalement la méthode d'écriture de base de la fonction Python du robot d'exploration Web, à savoir Web Spider, est un nom très vivant. En comparant Internet à une toile d'araignée, Spider est une araignée qui rampe sur le Web. Les amis qui s'intéressent aux robots d'exploration Web peuvent se référer à cet article
Les robots d'exploration Web, à savoir Web Spider, sont un nom très vivant. Si Internet est comparé à une toile d’araignée, alors une araignée est une araignée qui rampe sur la toile.
1. La définition du robot d'exploration Web
Les araignées Web recherchent des pages Web via les adresses de liens des pages Web. À partir d'une certaine page du site Web (généralement la page d'accueil), lisez le contenu de la page Web, recherchez d'autres adresses de lien dans la page Web, puis trouvez la page Web suivante via ces adresses de lien, et continuez dans une boucle jusqu'à ce que toutes les pages de ce site Web aient été explorées. Si l’ensemble d’Internet est considéré comme un site Web, les robots d’exploration du Web peuvent alors utiliser ce principe pour explorer toutes les pages Web d’Internet. De cette façon, un robot d'exploration Web est un robot d'exploration, un programme qui explore les pages Web. L’opération de base d’un robot d’exploration Web consiste à explorer les pages Web.
2. Le processus de navigation sur la page Web
Le processus d'exploration de la page Web est en fait le même que la façon dont les lecteurs parcourent habituellement la page Web à l'aide du navigateur IE . Par exemple, vous saisissez l'adresse www.baidu.com dans la barre d'adresse de votre navigateur.
Le processus d'ouverture d'une page Web consiste en fait dans le fait que le navigateur, en tant que "client" de navigation, envoie une requête au serveur, "récupère" les fichiers côté serveur vers le local, puis interprète et affiche eux.
HTML est un langage de balisage qui utilise des balises pour marquer le contenu, l'analyser et le différencier. La fonction du navigateur est d'analyser le code HTML obtenu, puis de convertir le code original en page du site Web que nous voyons directement.
3. Fonction de robot d'exploration Web basée sur python
1). Obtenir une page html avec python
En fait, la saisie de site Web la plus basique ne comprend que deux phrases :
import urllib2 content = urllib2.urlopen('http://XXXX').read()
De cette façon, vous pouvez obtenir l'intégralité du document HTML. Le problème clé est que nous. il faudra peut-être commencer par obtenir les informations utiles dont nous avons besoin dans ce document, et non dans l'intégralité du document. Cela nécessite d'analyser du HTML rempli de diverses balises.
2). Le robot d'exploration Python analyse la méthode HTML après avoir exploré la page
bibliothèque d'analyse HTML du robot Python SGMLParser
Python est livré par défaut avec des analyseurs tels que HTMLParser et SGMLParser. Le premier est vraiment difficile à utiliser, j'ai donc écrit un exemple de programme en utilisant SGMLParser :
< 🎜. >
import urllib2 from sgmllib import SGMLParser class ListName(SGMLParser): def init(self): SGMLParser.init(self) self.is_h4 = "" self.name = [] def start_h4(self, attrs): self.is_h4 = 1 def end_h4(self): self.is_h4 = "" def handle_data(self, text): if self.is_h4 == 1: self.name.append(text) content = urllib2.urlopen('http://169it.com/xxx.htm').read() listname = ListName() listname.feed(content) for item in listname.name: print item.decode('gbk').encode('utf8')
hérite des méthodes de SGMLParser. Utilisez une variable is_h4 comme marque pour déterminer la balise h4 dans le fichier html. Si une balise h4 est rencontrée, le contenu de la balise est ajouté au nom de la variable List. Expliquez les fonctions start_h4() et end_h4(). Leur prototype est
start_tagname(self, attrs) end_tagname(self)
, start_pre sera appelé et end_pre sera appelé lorsqueattrs est le paramètre du label, renvoyé sous la forme de [(attribut, valeur), (attribut, valeur), ...].
bibliothèque d'analyse HTML du robot d'exploration Python pyQuery
pyQuery est l'implémentation desudo apt-get install python-pyquery
from pyquery import PyQuery as pyq doc=pyq(url=r'http://169it.com/xxx.html') cts=doc('.market-cat') for i in cts: print '====',pyq(i).find('h4').text() ,'====' for j in pyq(i).find('.sub'): print pyq(j).text() , print '\n'
Bibliothèque d'analyse HTML du robot Python BeautifulSoup
Un problème gênant est que la plupart des pages Web ne sont pas écrites en totale conformité avec les normes, et il y en a toutes des sortes d'erreurs inexplicables. Vous donne envie de retrouver la personne qui a écrit la page et de l'avoir tabassé. Afin de résoudre ce problème, nous pouvons choisir le célèbre BeautifulSoup pour analyser les documents HTML, qui a une bonne tolérance aux pannes. Ce qui précède représente l'intégralité du contenu de cet article. Il fournit une analyse détaillée et une introduction à la mise en œuvre de la fonction de robot d'exploration Web Python. J'espère que cela sera utile à l'apprentissage de chacun.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Solution aux problèmes d'autorisation Lors de la visualisation de la version Python dans Linux Terminal Lorsque vous essayez d'afficher la version Python dans Linux Terminal, entrez Python ...

Comment enseigner les bases de la programmation novice en informatique dans les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...

Comment éviter d'être détecté lors de l'utilisation de FiddlereVerywhere pour les lectures d'homme dans le milieu lorsque vous utilisez FiddlereVerywhere ...

Lorsque vous utilisez la bibliothèque Pandas de Python, comment copier des colonnes entières entre deux frames de données avec différentes structures est un problème courant. Supposons que nous ayons deux dats ...

Comment Uvicorn écoute-t-il en permanence les demandes HTTP? Uvicorn est un serveur Web léger basé sur ASGI. L'une de ses fonctions principales est d'écouter les demandes HTTP et de procéder ...

Fastapi ...

Comprendre la stratégie anti-rampe d'investissement.com, Beaucoup de gens essaient souvent de ramper les données d'actualités sur Investing.com (https://cn.investing.com/news/latest-news) ...

Utilisation de Python dans Linux Terminal ...
