Maison > Article > développement back-end > Combat de robots pratique en Python : robot d'exploration de films Maoyan
Avec le développement rapide de la technologie Internet, la quantité d'informations sur Internet devient de plus en plus importante. Maoyan Movies, en tant que principale plateforme nationale de données cinématographiques, fournit aux utilisateurs des services complets d'informations cinématographiques. Cet article explique comment utiliser Python pour écrire un simple robot d'exploration de films Maoyan afin d'obtenir des données liées au film.
Un robot d'exploration, ou robot d'exploration Web, est un programme qui obtient automatiquement des données Internet. Il peut accéder à des sites Web cibles et obtenir des données via des liens sur Internet, réalisant ainsi une collecte automatisée d'informations. Python est un langage de programmation puissant largement utilisé dans le traitement des données, les robots d'exploration Web, les graphiques visuels, etc.
Le robot d'exploration de films Maoyan dans cet article sera implémenté via les requêtes Python et les bibliothèques BeautifulSoup. Requests est une bibliothèque HTTP Python qui peut facilement envoyer des requêtes de pages Web, et BeautifulSoup est la bibliothèque d'analyse HTML de Python qui peut analyser rapidement les pages HTML. Avant de commencer, vous devez installer ces deux bibliothèques.
2.1 Importer la bibliothèque
Ouvrez l'éditeur Python et créez un nouveau fichier Python. Vous devez d'abord importer les bibliothèques requises :
import requests from bs4 import BeautifulSoup import csv
2.2 Créer un lien de demande
Créez ensuite un lien de demande. Ouvrez le site Web Maoyan Movie, recherchez le lien vers le film cible et copiez-le. Voici le film "Detective Chinatown 3" à titre d'exemple :
url = 'https://maoyan.com/films/1250952'
2.3 Envoyer une demande
Créer des en-têtes et définir les informations d'en-tête de la demande. Les informations d'en-tête incluent généralement l'agent utilisateur, le référent, le cookie et d'autres informations pour simuler le réel. demande du navigateur pour accéder à la page Web. Nous prenons ici le navigateur Chrome comme exemple. Utilisez ensuite la bibliothèque de requêtes pour envoyer une requête et obtenir le code HTML de la page web :
headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0;Win64) AppleWebkit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3' } response = requests.get(url,headers=headers) html = response.text
2.4 Analyser le code HTML
Convertissez le code HTML obtenu en un objet BeautifulSoup, utilisez la bibliothèque BeautifulSoup pour analyser le code HTML et obtenir le données cibles. Étant donné que la structure du code HTML du site Web du film Maoyan est relativement complexe, elle nécessite une connaissance approfondie de HTML et de BeautifulSoup.
soup = BeautifulSoup(html,'html.parser') movie_title = soup.find('h1',class_='name').text movie_info = soup.find_all('div',class_='movie-brief-container')[0] movie_type = movie_info.find_all('li')[0].text movie_release_data = movie_info.find_all('li')[2].text movie_actors = movie_info.find_all('li')[1].text movie_score = soup.find('span',class_='score-num').text
2.5 Enregistrer les données
Après avoir traité la page HTML, vous devez enregistrer les données obtenues localement. La bibliothèque csv de Python est utilisée ici pour stocker des données. La bibliothèque csv peut convertir les données au format CSV pour faciliter le traitement ultérieur.
with open('movie.csv','w',newline='',encoding='utf-8-sig') as csvfile: writer = csv.writer(csvfile) writer.writerow(['电影名称',movie_title]) writer.writerow(['电影类型',movie_type]) writer.writerow(['上映日期',movie_release_data]) writer.writerow(['演员阵容',movie_actors]) writer.writerow(['豆瓣评分',movie_score])
L'intégralité du code est la suivante :
import requests from bs4 import BeautifulSoup import csv url = 'https://maoyan.com/films/1250952' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0;Win64) AppleWebkit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3' } response = requests.get(url,headers=headers) html = response.text soup = BeautifulSoup(html,'html.parser') movie_title = soup.find('h1',class_='name').text movie_info = soup.find_all('div',class_='movie-brief-container')[0] movie_type = movie_info.find_all('li')[0].text movie_release_data = movie_info.find_all('li')[2].text movie_actors = movie_info.find_all('li')[1].text movie_score = soup.find('span',class_='score-num').text with open('movie.csv','w',newline='',encoding='utf-8-sig') as csvfile: writer = csv.writer(csvfile) writer.writerow(['电影名称',movie_title]) writer.writerow(['电影类型',movie_type]) writer.writerow(['上映日期',movie_release_data]) writer.writerow(['演员阵容',movie_actors]) writer.writerow(['豆瓣评分',movie_score])
Cet article explique comment utiliser les requêtes Python et les bibliothèques BeautifulSoup pour implémenter le robot d'exploration de films Maoyan. En envoyant des requêtes réseau, en analysant le code HTML, en enregistrant les données et en effectuant d'autres étapes, nous pouvons facilement obtenir les données liées au film cible et les stocker localement. La technologie des robots d'exploration Web a une grande valeur d'application dans la collecte de données, l'exploration de données, etc. Nous pouvons améliorer notre niveau technique grâce à l'apprentissage continu et continuer à explorer dans la pratique.
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!