Maison développement back-end Tutoriel Python Scrapy Crawler en action : exploration des données de classement des films Maoyan

Scrapy Crawler en action : exploration des données de classement des films Maoyan

Jun 22, 2023 am 08:58 AM
爬虫 scrapy 猫眼

Pratique de Scrapy Crawler : exploration des données de classement des films Maoyan

Avec le développement d'Internet, l'exploration de données est devenue une partie importante de l'ère du Big Data. Dans le processus d'exploration des données, la technologie des robots d'exploration peut être utilisée pour obtenir automatiquement les données nécessaires au moment, les traiter et les analyser. Ces dernières années, Python est devenu l'un des langages de programmation les plus populaires. Parmi eux, Scrapy est un puissant framework d'exploration basé sur Python. Il possède une large gamme d'applications et a attiré l'attention de tous, notamment dans le domaine de l'exploration de données.

Cet article est basé sur le framework Scrapy pour explorer les données de classement des films Maoyan. Le processus spécifique est divisé en quatre parties : analyser la structure de la page, écrire le framework d'exploration, analyser la page et stocker les données.

1. Analyser la structure de la page

Tout d'abord, nous devons analyser la structure de la page de classement des films Maoyan. Pour faciliter l'utilisation, nous utilisons le navigateur Google Chrome pour l'analyse des pages et XPath pour extraire les informations requises.

Comme vous pouvez le voir, la page de classement des films Maoyan contient des informations sur plusieurs films, et chaque film possède un bloc de code HTML similaire à l'image ci-dessous.

Notre objectif est d'obtenir les cinq données du nom du film, du rôle principal, de l'heure de sortie, du lien vers l'affiche du film et de la note de chaque bloc de code HTML. Ensuite, nous pouvons appuyer sur la touche F12 pour ouvrir les outils de développement dans le navigateur Google Chrome, puis sélectionner l'onglet "Éléments", déplacer la souris vers l'élément cible que nous devons extraire, cliquer avec le bouton droit et sélectionner "Copier -> Copier XPath " .

Le chemin XPath copié est le suivant :

/html/body/div[3]/div/div[2]/dl/dd[1]/div/div/div[1]/p[1]/ a /text()

où "/html/body/div[3]/div/div[2]/dl/dd" représente le nœud parent de la liste entière des films. En descendant dans l'ordre, vous pouvez trouver les éléments. nous devons extraire.

2. Écrivez le framework du robot

Ensuite, nous devons créer un projet Scrapy Vous pouvez vous référer à la documentation officielle de Scrapy (https://docs.scrapy.org/en/latest/intro/tutorial.html). Après avoir créé le projet, créez un nouveau fichier nommé maoyan.py dans le répertoire Spiders.

Ce qui suit est notre code de framework d'exploration :

import scrapy
from maoyan.items import MaoyanItem

class MaoyanSpider(scrapy.Spider):

name = 'maoyan'
allowed_domains = ['maoyan.com']
start_urls = ['http://maoyan.com/board/4']

def parse(self, response):
    movies = response.xpath('//dl[@class="board-wrapper"]/dd')
    for movie in movies:
        item = MaoyanItem()
        item['title'] = movie.xpath('.//p[@class="name"]/a/@title').extract_first()
        item['actors'] = movie.xpath('.//p[@class="star"]/text()').extract_first().strip()
        item['release_date'] = movie.xpath('.//p[@class="releasetime"]/text()').extract_first().strip()
        item['image_url'] = movie.xpath('.//img/@data-src').extract_first()
        item['score'] = movie.xpath('.//p[@class="score"]/i[@class="integer"]/text()').extract_first() + 
                        movie.xpath('.//p[@class="score"]/i[@class="fraction"]/text()').extract_first()
        yield item
Copier après la connexion

Dans le code, nous définissons d'abord le nom de Spider, les domaines_autorisés et les URL de démarrage. Parmi eux, "allowed_domains" signifie que seules les URL appartenant à ce nom de domaine seront accédées et extraites par le robot. Dans le même temps, « start_urls » indique la première adresse URL que le robot demandera.

La méthode d'analyse de Spider reçoit le contenu de la réponse, puis extrait les cinq données du nom de chaque film, du rôle principal, de l'heure de sortie, du lien vers l'affiche du film et de la note via le chemin XPath, et les enregistre dans MaoyanItem.

Enfin, nous avons renvoyé chaque objet Item via le mot-clé rendement. Remarque : L'objet Item que nous avons défini se trouve dans un fichier nommé items.py et doit être importé.

3. Analyser la page

Lorsque le robot d'exploration localise la page que nous devons explorer, nous pouvons commencer à analyser le document HTML et extraire les informations dont nous avons besoin. Cette partie du contenu se concentre principalement sur les requêtes XPath et le traitement des expressions régulières des objets de réponse dans Scrapy.

Dans cet exemple, nous utilisons le chemin XPath pour extraire cinq éléments de données pour chaque film dans la page de classement des films Maoyan.

4. Stocker les données

Une fois les données analysées, nous devons les stocker. De manière générale, nous stockons les données obtenues dans un fichier ou les sauvegardons dans une base de données.

Dans cet exemple, nous choisissons de sauvegarder les données dans un fichier .csv :

import csv

class MaoyanPipeline(object):

def __init__(self):
    self.file = open('maoyan_top100_movies.csv', 'w', newline='', encoding='utf-8')
    self.writer = csv.writer(self.file)

def process_item(self, item, spider):
    row = [item['title'], item['actors'], item['release_date'], item['image_url'], item['score']]
    self.writer.writerow(row)
    return item

def close_spider(self, spider):
    self.file.close()
Copier après la connexion

Dans le code ci-dessus, nous utilisons le module csv dans Python pour importer les données Write dans un fichier nommé maoyan_top100_movies.csv. Lorsque le spider est fermé, le fichier csv sera également fermé.

Résumé

Grâce à cet article, nous avons appris à utiliser le framework Scrapy pour explorer les données de classement des films Maoyan. Nous avons d'abord analysé la structure de la page, puis écrit le framework Scrapy pour explorer les données, analyser la page et stocker les données. Dans le cadre d’un combat réel, nous pouvons apprendre à unifier la légalité, la convivialité et l’efficacité de la capture des données.

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Combien de temps faut-il pour apprendre le robot d'exploration Python Combien de temps faut-il pour apprendre le robot d'exploration Python Oct 25, 2023 am 09:44 AM

Le temps nécessaire pour apprendre les robots d'exploration Python varie d'une personne à l'autre et dépend de facteurs tels que la capacité d'apprentissage personnelle, les méthodes d'apprentissage, le temps d'apprentissage et l'expérience. L'apprentissage des robots d'exploration Python ne consiste pas seulement à apprendre la technologie elle-même, mais nécessite également de bonnes compétences en matière de collecte d'informations, de résolution de problèmes et de travail d'équipe. Grâce à un apprentissage et à une pratique continus, vous deviendrez progressivement un excellent développeur de robots Python.

Analyse de cas Scrapy : Comment explorer les informations de l'entreprise sur LinkedIn Analyse de cas Scrapy : Comment explorer les informations de l'entreprise sur LinkedIn Jun 23, 2023 am 10:04 AM

Scrapy est un framework d'exploration basé sur Python qui peut obtenir rapidement et facilement des informations pertinentes sur Internet. Dans cet article, nous utiliserons un cas Scrapy pour analyser en détail comment explorer les informations d'une entreprise sur LinkedIn. Déterminer l'URL cible Tout d'abord, nous devons indiquer clairement que notre cible est les informations de l'entreprise sur LinkedIn. Par conséquent, nous devons trouver l’URL de la page d’informations sur l’entreprise LinkedIn. Ouvrez le site Web LinkedIn, saisissez le nom de l'entreprise dans le champ de recherche et

Méthode d'implémentation de chargement asynchrone Scrapy basée sur Ajax Méthode d'implémentation de chargement asynchrone Scrapy basée sur Ajax Jun 22, 2023 pm 11:09 PM

Scrapy est un framework d'exploration Python open source qui peut obtenir rapidement et efficacement des données à partir de sites Web. Cependant, de nombreux sites Web utilisent la technologie de chargement asynchrone Ajax, ce qui empêche Scrapy d'obtenir directement des données. Cet article présentera la méthode d'implémentation de Scrapy basée sur le chargement asynchrone Ajax. 1. Principe de chargement asynchrone Ajax Chargement asynchrone Ajax : Dans la méthode de chargement de page traditionnelle, une fois que le navigateur a envoyé une requête au serveur, il doit attendre que le serveur renvoie une réponse et charge la page entière avant de passer à l'étape suivante.

Analyse et solutions aux problèmes courants des robots PHP Analyse et solutions aux problèmes courants des robots PHP Aug 06, 2023 pm 12:57 PM

Analyse des problèmes courants et solutions pour les robots PHP Introduction : Avec le développement rapide d'Internet, l'acquisition de données réseau est devenue un maillon important dans divers domaines. En tant que langage de script largement utilisé, PHP possède de puissantes capacités d’acquisition de données. L’une des technologies couramment utilisées est celle des robots d’exploration. Cependant, lors du développement et de l’utilisation des robots d’exploration PHP, nous rencontrons souvent des problèmes. Cet article analysera et proposera des solutions à ces problèmes et fournira des exemples de code correspondants. 1. Description du problème selon lequel les données de la page Web cible ne peuvent pas être correctement analysées.

Conseils d'optimisation Scrapy : Comment réduire l'exploration des URL en double et améliorer l'efficacité Conseils d'optimisation Scrapy : Comment réduire l'exploration des URL en double et améliorer l'efficacité Jun 22, 2023 pm 01:57 PM

Scrapy est un puissant framework d'exploration Python qui peut être utilisé pour obtenir de grandes quantités de données sur Internet. Cependant, lors du développement de Scrapy, nous rencontrons souvent le problème de l'exploration des URL en double, ce qui fait perdre beaucoup de temps et de ressources et affecte l'efficacité. Cet article présentera quelques techniques d'optimisation de Scrapy pour réduire l'exploration des URL en double et améliorer l'efficacité des robots d'exploration Scrapy. 1. Utilisez les attributs start_urls et Allowed_domains dans le robot d'exploration Scrapy pour

Comment mettre en place un paiement sans mot de passe sur Maoyan ? Étapes spécifiques pour configurer le paiement sans mot de passe sur Maoyan Comment mettre en place un paiement sans mot de passe sur Maoyan ? Étapes spécifiques pour configurer le paiement sans mot de passe sur Maoyan Mar 15, 2024 pm 06:16 PM

Maoyan est une plateforme d'achat de billets très spéciale. Elle offre aux utilisateurs de nombreux contenus riches, notamment des spectacles, des films, des festivals de musique, etc., apportant du confort à tous. Il existe de nombreuses fonctions sur la plateforme Maoyan, alors savez-vous comment configurer un paiement sans mot de passe sur Maoyan Les étapes spécifiques pour configurer un paiement sans mot de passe sur Maoyan 1. Ouvrez Maoyan Movies, cliquez sur Mon en bas à droite ? coin, puis cliquez sur Portefeuille. 2. Cliquez sur Paramètres de paiement, puis sur Paramètres du mot de passe de paiement. 3. Cliquez sur paiement sans mot de passe. Caractéristiques du logiciel : 1. Films populaires, tous disponibles. Informations détaillées et riches sur les films, critiques de films classiques et hilarantes. Bande-annonce en haute définition, vous pouvez tout voir en un coup d'œil. 2. Des cinémas massifs à choisir. Consultez les horaires des théâtres en temps réel et localisez-les à tout moment et en tout lieu.

Pratique efficace du robot d'exploration Java : partage des techniques d'exploration de données Web Pratique efficace du robot d'exploration Java : partage des techniques d'exploration de données Web Jan 09, 2024 pm 12:29 PM

Pratique du robot d'exploration Java : Comment explorer efficacement les données d'une page Web Introduction : Avec le développement rapide d'Internet, une grande quantité de données précieuses est stockée dans diverses pages Web. Pour obtenir ces données, il est souvent nécessaire d’accéder manuellement à chaque page web et d’en extraire les informations une par une, ce qui est sans doute une tâche fastidieuse et chronophage. Afin de résoudre ce problème, les utilisateurs ont développé divers outils de robots d'exploration, parmi lesquels le robot d'exploration Java est l'un des plus couramment utilisés. Cet article amènera les lecteurs à comprendre comment utiliser Java pour écrire un robot d'exploration Web efficace et à démontrer la pratique à travers des exemples de code spécifiques. 1. La base du reptile

Utilisation approfondie de Scrapy : Comment explorer les données HTML, XML et JSON ? Utilisation approfondie de Scrapy : Comment explorer les données HTML, XML et JSON ? Jun 22, 2023 pm 05:58 PM

Scrapy est un puissant framework de robot d'exploration Python qui peut nous aider à obtenir des données sur Internet de manière rapide et flexible. Dans le processus d'exploration proprement dit, nous rencontrons souvent divers formats de données tels que HTML, XML et JSON. Dans cet article, nous présenterons comment utiliser Scrapy pour explorer respectivement ces trois formats de données. 1. Explorez les données HTML et créez un projet Scrapy. Tout d'abord, nous devons créer un projet Scrapy. Ouvrez la ligne de commande et entrez la commande suivante : scrapys

See all articles