combat à base zéro reptile python

contenu

1. Qu'est-ce qu'un reptile?

2. Pourquoi robots d'exploration Web avec python

configuration de l'environnement 3.python

4. J'ai besoin de savoir ce que pré-connaissance du reptile python

5. Expressions régulières A propos de

6. contenu Web extrait et l'expression traitées avec n

7.xPath et BeautifulSoup intro

 

 

INTRODUCTION 1. reptile

En termes simples, la sonde de reptiles est une machine, son fonctionnement de base est de simuler le comportement humain à différents sites flânent, petits boutons, rechercher des données, des informations ou pour voir le dos arrière. Comme un infatigable insectes rampants autour dans un bâtiment.

Vous pouvez facilement imaginer: tous les reptiles est votre « avatar ». Comme le roi singe tiré une poignée de cheveux, souffler un tas de singes.

Vous utilisez tous les Baidu jour, en fait, l'utilisation de ce reptile technologique: le jour de la sortie d' innombrables reptiles à chaque site, leurs informations revenez à nouveau, puis la ligne de bonne équipe de maquillage vous attend de récupérer.
Logiciel à voix d'appui, ce qui équivaut à étaler de nombreux engagements, chaque avatar vous aidera à former constamment rafraîchi plus de 12306 billets site. Une fois un billet, immédiatement tiré vers le bas, puis vous criez: paiement Tyran Venez.
- de l'utilisateur de connaître l'histoire de presque
  Internet est comme un filet, une variété de liaison intermédiaire reliant entre elles, et le petit reptile a pu monter sur ce manège en ligne, au lieu d'un grand nombre de personnes pour effectuer des tâches lourdes, telles que les logiciels de votes d'appui, quelques-uns des moteurs de recherche.
 
 
 
2. Pourquoi robots d'exploration Web avec python
  python comme un langage accessible, fournit une API riche pour récupérer le document de page, simulent le comportement du navigateur, rampent traitement des données. Le dos de notre démonstration mettra en vedette reptile python introduction, ramper code noyau contenu Web peut être en quelques lignes, mais il peut atteindre puissant.
 
 
configuration de l'environnement 3.python
  Pour l'environnement Windows non - initiés, il est le plus familier. J'utilise Anaconda + PyCharm être écrit en code python, où Anaconda faciliter la gestion des bibliothèques externes et PyCharm est un IDE très populaire et puissant. Procédure détaillée de configuration, voir le blog:      Installation et configuration de Anaconda et PyCharm  .
 
4. J'ai besoin de savoir ce que pré-connaissance du reptile python
  Au moins être un peu de connaissances de base de python, si vous n'êtes pas sûr, vous pouvez participer à Zhejiang Weng Kai classe Mu de python, ou vous présenter à un document, comme        tutoriel d' introduction python . Dans le même besoin de temps pour comprendre quelques connaissances de base du langage HTML, tels que les représentants du sens des différents labels:

<- ... ->: Définit le commentaire
<! DOCTYPE>: Définit le type de document
<html>: Document total html tag
<head>: Définir le chef
<body>: définir le contenu web
<script>: scripts personnalisés
<div>: Division, définir des partitions, des étiquettes de conteneurs
<p>: le paragraphe, le paragraphe défini
<a>: définir des liens hypertexte
<span>: définir le conteneur de texte
<br>: wrap
<form>: forme personnalisée
<table>: table de définition
<th>: tête défini
<tr>: table rangée
<td>: colonne du tableau
<b>: définir gras
<img>: l' image personnalisée

  Familier ci-dessus ces balises html facilitera notre traitement régulier d'expression, ainsi que l'apprentissage XPath et BeautifulSoup.
 
5. Expressions régulières A propos de
 
  python expression plus régulière des connaissances, nous avons seulement besoin de connaître certains cette base, comme:
 
6. contenu Web extrait et l'expression traitées avec n
 
  
Importation Re
 importation urllib.request
 importation de la chardet 

la réponse = le urllib.request.urlopen ( « http://news.hit.edu.cn/ » ) des paramètres d'entrée # pour la page que vous souhaitez analyser l'URL de 

HTML = response.read () # html lire la variable 
chardet1 = chardet.detect (html) acquiert # codage 
html = html.decode (chardet1 [ ' codant ' ]) # traité selon le codage acquis

   Ici, nous avons le site officiel de nouvelles d'une université à titre d'exemple pour démontrer le reptile python de fonctionnement, à seulement quelques lignes de code ci-dessus seront atteints analyse de contenu Web pour les opérations locales.

  Suivant est le contenu de rampé au traitement d'expression régulière, obtenir ce que nous voulons observer le code source de la page:

  

Nous espérons que des liens externes qui sont abondés par l'expression régulière avant que les connaissances acquises à atteindre les objectifs suivants:

mypatten = " <li class = \" link-item \ "> <a href=\"(.*)\"> <span> (. *) </ span> </a> </ li> " 
mylist = re.findall (mypatten, html)
 pour i dans mylist:
     print ( " 外部链接地址:% s网站名:% de " l'% (i [0], I [1]))

L'effet qui en résulte est:

 

7.xPath et BeautifulSoup intro

  En plus des documents Web de traitement régulier d'expression obtenus par, on peut aussi considérer leur propre architecture web.

XPath, le nom complet de la langue XML Path, à savoir XML Path Language, est une information de conclusion dans un langage de document XML. XPath a été conçu à l'origine pour rechercher des documents XML, mais cela vaut aussi pour rechercher des documents HTML.

  nodename sélectionner tous les nœuds enfants de ce noeud
  / nœuds à partir du courant sélectionné nœud enfant direct
  // Sélection noeud descendant à partir du nœud actuel
  . Sélectionnez le noeud courant
  .. sélectionnez le nœud parent du nœud actuel
  @ attribut de sélection

  Voici une liste des règles de correspondance couramment XPath, par exemple / représentants choisis noeud enfant direct représentant sélectionné // tous les descendants nœuds représentatifs de sélectionner le noeud courant, le noeud courant .. représentant nœud parent sélectionné @ attribut est ajouté la définition, la sélection d'un des attributs correspondants de noeud spécifique.

de lxml import eTree
 import urllib.request
 import chardet 
réponse = urllib.request.urlopen ( " https://www.dahe.cn " ) 

html = response.read () 
chardet1 = chardet.detect (html) 
html = html.decode (chardet1 [ ' codant ' ]) 
etreehtml = etree.HTML (html) 
mylist = etreehtml.xpath ( " / html / corps / div / div / div / div / div / ul / div / li " )

reptile BeautifulSoup4 apprendra les compétences. BeautifulSoup principale fonction est de récupérer les données à partir de la bande, Belle soupe automatiquement converti en Unicode codant pour le document d'entrée, le document est converti en un signal de sortie utf-8 codé. BeautifulSoup prend en charge la bibliothèque standard Python d'analyseur HTML prend également en charge l'analyseur tiers, si nous n'installons pas, la valeur par défaut Python Python utilise l'analyseur, l'analyseur lxml plus puissant, plus rapide, résolution recommandée lxml appareil.

de BS4 Importer le BeautifulSoup 
fichier = Ouvrir ( ' ./aa.html ' , ' RB ' ) 
HTML = File.read () 
BS = le BeautifulSoup (HTML, " html.parser " ) # indentation 
Imprimer (bs.prettify () ) # Format structure HTML 
Imprimer (bs.title) # obtenir le nom de la balise title 
Print (bs.title.name) # obtenir la balise de titre du texte 
Imprimer (bs.title.string) # toute la tête acquisition ontenu 
Imprimer ( bs.head) #Obtenez tout le contenu de la première balise div 
impression (bs.div) # obtenir une première valeur de la balise div id 
print (bs.div [ « id » ]) # Obtenez tout le contenu d'une étiquette à une 
impression (bs.a) # obtenir tout le contenu de toutes les balises dans une 
impression (bs.find_all ( " un " )) # Get = ID "U1" 
Imprimer (bs.find (ID = " U1 " )) # extraient tous une étiquette et une valeur traversée de href d'impression d'étiquettes 
pour objet en bs.find_all ( « un » ): 
     Imprimer (item.get ( « href »)) # Obtenir tous une étiquette et d' imprimer traverse une valeur de texte de l' étiquette 
pour l' article dans bs.find_all ( « un » ): 
     Print (item.get_text ())

 

<- ... ->: Définit le commentaire
<! DOCTYPE>: Définit le type de document
<html>: Document total html tag
<head>: Définir le chef
<body>: définir le contenu web
<script>: scripts personnalisés
<div>: Division, définir des partitions, des étiquettes de conteneurs
<p>: le paragraphe, le paragraphe défini
<a>: définir des liens hypertexte
<span>: définir le conteneur de texte
<br>: wrap
<form>: forme personnalisée
<table>: table de définition
<th>: tête défini
<tr>: table rangée
<td>: colonne du tableau
<b>: définir gras
<img>: l' image personnalisée

Je suppose que tu aimes

Origine www.cnblogs.com/upuphe/p/12556357.html
conseillé
Classement