Maison  >  Article  >  développement back-end  >  Combat de robots pratique en Python : robot d'exploration de films Maoyan

Combat de robots pratique en Python : robot d'exploration de films Maoyan

WBOY
WBOYoriginal
2023-06-10 12:27:262827parcourir

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.

  1. Présentation des robots d'exploration

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.

  1. Implémentation du robot d'exploration

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])
  1. Résumé

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn