C'est la première fois que j'écris un blog, donc je suis un peu nerveux, alors ne commentez pas si vous le faites ça ne me plaît pas.
S'il y a des lacunes, j'espère que les lecteurs les signaleront et je les corrigerai certainement.
学习爬虫之前你需要了解(个人建议,铁头娃可以无视): - **少许网页制作知识,起码要明白什么标签...** - **相关语言基础知识。比如用java做爬虫起码会用Java语言,用python做爬虫起码要会用python语言...** - **一些网络相关知识。比如TCP/IP、cookie之类的知识,明白网页打开的原理。** - **国家法律。知道哪些能爬,哪些不能爬,别瞎爬。**
Comme l'indique le titre, tous les codes de cet article utilisent python3.6.X.
Tout d'abord, vous devez installer (pip3 install xxxx et tout ira bien)
module de requêtes
Module BeautifulSoup (ou module lxml)
Ces deux bibliothèques sont très puissantes et sont utilisées pour envoyer des requêtes de pages Web et ouvrir des pages Web, tandis que beautifulsoup et lxml sont utilisées pour analyser le contenu et extraire ce que vous avez. vouloir. BeautifulSoup privilégie les expressions régulières, lxml privilégie XPath. Parce que je suis plus habitué à utiliser la bibliothèque beautifulsoup, cet article utilise principalement la bibliothèque beautifulsoup sans entrer trop dans les détails de lxml. (Il est recommandé de lire la documentation avant de l'utiliser)
La structure principale du robot :
Manager : gérez les adresses que vous souhaitez explorer.
Téléchargeur : téléchargez les informations de la page Web.
Filtre : filtrez le contenu dont vous avez besoin à partir des informations de la page Web téléchargée.
Stockage : enregistrez les éléments téléchargés là où vous souhaitez les enregistrer. (Selon la situation réelle, c'est facultatif.)
Fondamentalement, tous les robots d'exploration Web avec lesquels j'ai été en contact ne peuvent pas échapper à cette structure, allant de sracpy à urllib. Tant que vous connaissez cette structure, vous n'avez pas besoin de la mémoriser. L'avantage de la connaître est que vous pouvez au moins savoir ce que vous écrivez lors de l'écriture, et vous saurez où déboguer lorsqu'un bug survient.
Il y a beaucoup de bêtises au début... Le texte est le suivant :
Cet article utilise le crawling https://baike.baidu.com/item/Python (le Baidu entrée de python à titre d'exemple) :
(Parce que les captures d'écran sont trop gênantes.. Ce sera la seule image de cet article)
Si vous voulez pour explorer le contenu de l'entrée python, vous devez d'abord connaître l'URL que vous souhaitez explorer :
url = 'https://baike.baidu.com/item/Python'
Parce que vous n'avez besoin que d'explorer cette page, le gestionnaire est OK.
html = request.urlopen(url)
Appelez la fonction urlopen(), le téléchargeur est OK
Soup = BeautifulSoup(html,"html.parser") baike = Soup.find_all("p",class_='lemma-summary')
Utilisez la fonction beautifulsoup et la fonction find_all dans la bibliothèque Beautifulsoup, l'analyseur est OK
Dites quelque chose ici, la valeur de retour de la fonction find_all est une liste. Par conséquent, la sortie doit être imprimée en boucle.
Comme cet exemple n'a pas besoin d'être enregistré, il peut être imprimé directement, donc :
for content in baike: print (content.get_text())
La fonction de get_text() est d'extraire le texte dans l'étiquette.
Organisez le code ci-dessus :
import requestsfrom bs4 import BeautifulSoupfrom urllib import requestimport reif __name__ == '__main__': url = 'https://baike.baidu.com/item/Python' html = request.urlopen(url) Soup = BeautifulSoup(html,"html.parser") baike = Soup.find_all("p",class_='lemma-summary') for content in baike: print (content.get_text())
L'entrée dans l'Encyclopédie Baidu apparaîtra.
Des méthodes similaires peuvent également explorer certains romans, images, titres, etc., et ne se limitent en aucun cas aux entrées.
Si vous parvenez à écrire ce programme après avoir clôturé cet article, félicitations, vous commencez. N'oubliez pas de ne jamais mémoriser le code.
Les étapes sont omises... L'ensemble du processus est un peu rude... Désolé... ça a glissé ( ̄ー ̄)...
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!