Maison >développement back-end >Tutoriel Python >Utilisation pratique des robots en Python : les robots Zhihu
À l'ère d'Internet d'aujourd'hui, on peut dire que les informations dont nous avons besoin sont globales, mais comment obtenir ces informations est souvent un problème. L’une des méthodes couramment utilisées consiste à collecter des informations via des robots d’exploration Web. Concernant l’écriture de robots web, le langage Python est souvent l’un des outils les plus populaires. Dans cet article, nous décrirons comment utiliser Python pour écrire un robot d'exploration Web basé sur Zhihu.
Zhihu est un célèbre site social de questions et réponses, très important pour l'intégration et la synthèse des informations. Nous pouvons utiliser des robots d'exploration pour obtenir des questions, des réponses, des informations sur les utilisateurs, etc. sur le site Web. Ici, nous présentons principalement comment obtenir des informations sur les utilisateurs de Zhihu.
Tout d'abord, nous devons utiliser les bibliothèques communes des robots d'exploration Python-Requests et BeautifulSoup. La bibliothèque Requests peut nous aider à obtenir le contenu de la page Web, et la bibliothèque BeautifulSoup peut nous aider à analyser le contenu de la page Web et à obtenir les informations dont nous avons besoin. Ces deux bibliothèques doivent être installées avant utilisation.
Une fois l'installation terminée, nous pouvons d'abord obtenir la page d'accueil de l'utilisateur Zhihu via la bibliothèque Requests, par exemple :
import requests url = 'https://www.zhihu.com/people/zionyang/' headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} response = requests.get(url, headers=headers) html = response.text
Dans le code ci-dessus, nous l'obtenons via get méthode dans la bibliothèque Requests La page d'accueil de l'utilisateur Zhihu "zionyang". Parmi eux, le paramètre headers est ajouté pour éviter d'être reconnu par le mécanisme anti-crawler.
Après avoir obtenu le code source de la page Web, nous pouvons utiliser BeautifulSoup pour analyser le contenu HTML. Comme le montre le code suivant :
from bs4 import BeautifulSoup soup = BeautifulSoup(html, 'lxml')
Définissez l'analyseur sur "lxml", et nous pourrons ensuite utiliser la puissante fonction de BeautifulSoup pour analyser les documents HTML. Vous trouverez ci-dessous quelques méthodes d'analyse couramment utilisées. Méthode
questions = soup.find_all('a', {'data-nav':'question'}) for question in questions: print(question.text)
name = soup.find('span', {'class': 'ProfileHeader-name'}).text
education = soup.select('li.ProfileEducationList-item')[0].select('div.ProfileEducationList-degreeName')[0].text
Grâce à la méthode ci-dessus, nous pouvons obtenir divers contenus dans les informations utilisateur de Zhihu. Il convient de noter qu'en accédant à la page d'accueil de l'utilisateur sans se connecter à la page Web, nous ne pouvons obtenir que les informations de base de l'utilisateur, et nous ne pouvons même pas obtenir d'informations privées telles que le sexe.
Tout en obtenant des informations sur l'utilisateur, nous pouvons également obtenir des données telles que l'attention de l'utilisateur, ses fans, ses likes, etc. Nous pouvons utiliser des outils tels que Fiddler pour capturer des paquets afin d'obtenir l'URL correspondant aux données requises, puis y accéder via la bibliothèque de requêtes :
url = 'https://www.zhihu.com/people/zionyang/followers' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3', 'Cookie': 'your_cookie' } response = requests.get(url, headers=headers) data = response.json()
Parmi eux, nos propres informations sur les cookies doivent être ajoutées à le paramètre headers, sinon nous ne pourrons pas obtenir les données requises.
Grâce à la méthode ci-dessus, nous pouvons utiliser Python pour écrire notre propre robot d'exploration Web et obtenir des informations massives. Bien entendu, pendant le processus d'exploration, vous devez faire attention à vous conformer aux réglementations pertinentes du site Web pour éviter d'affecter le site Web. En même temps, vous devez également faire attention à la protection des informations personnelles. J'espère que l'introduction de cet article sera utile aux débutants.
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!