


Scrapy en action : analyse des données du film Douban et classement de popularité
Scrapy est un framework Python open source permettant de récupérer des données rapidement et efficacement. Dans cet article, nous utiliserons Scrapy pour explorer les données et la popularité des films Douban.
- Préparation
Tout d'abord, nous devons installer Scrapy. Vous pouvez installer Scrapy en tapant la commande suivante sur la ligne de commande :
pip install scrapy
Ensuite, nous créerons un projet Scrapy. Sur la ligne de commande, entrez la commande suivante :
scrapy startproject doubanmovie
Cela créera un projet Scrapy appelé doubanmovie. Nous allons ensuite aller dans le répertoire du projet et créer un Spider appelé douban.py. Sur la ligne de commande, entrez la commande suivante :
cd doubanmovie scrapy genspider douban douban.com
Maintenant, nous avons un Spider prêt à l'emploi. Ensuite, nous définirons le comportement de l'araignée pour obtenir les données requises.
- Exploration des données de film
Nous utiliserons Spider pour explorer les données de film Douban. Plus précisément, nous obtiendrons les informations suivantes :
- Nom du film
- Réalisateur
- Acteurs
- Type
- Pays
- Langue
- Date de sortie
- Longueur
- Note
- Nombre de critiques
Ouvrez do uban .py, nous ajouterons le code suivant :
import scrapy class DoubanSpider(scrapy.Spider): name = 'douban' allowed_domains = ['douban.com'] start_urls = ['https://movie.douban.com/top250'] def parse(self, response): movie_list = response.xpath('//div[@class="item"]') for movie in movie_list: yield { 'name': movie.xpath('.//span[@class="title"]/text()').get(), 'director': movie.xpath('.//div[@class="bd"]/p/text()[1]').get(), 'actors': movie.xpath('.//div[@class="bd"]/p/text()[2]').get(), 'genre': movie.xpath('.//div[@class="bd"]/p/text()[3]').get(), 'country': movie.xpath('.//div[@class="bd"]/p/text()[4]').get(), 'language': movie.xpath('.//div[@class="bd"]/p/text()[5]').get(), 'release_date': movie.xpath('.//div[@class="bd"]/p/text()[6]').get(), 'duration': movie.xpath('.//div[@class="bd"]/p/text()[7]').get(), 'rating': movie.xpath('.//span[@class="rating_num"]/text()').get(), 'num_reviews': movie.xpath('.//div[@class="star"]/span[@class="rating_num"]/text()').get(), }
Dans ce code, nous utilisons XPath pour sélectionner les informations que nous devons obtenir. Nous utilisons le rendement pour générer ces informations et revenons pour les restituer à l'utilisateur.
Si nous exécutons notre Spider maintenant (exécutez la commande suivante : scrapy crawl douban), il explorera les données des 250 meilleurs films et les renverra à la ligne de commande.
- Obtenez le classement de popularité
Maintenant, nous avons obtenu avec succès les données des 250 meilleurs films. Ensuite, nous obtiendrons leur classement de popularité.
Nous devons d'abord créer un nouveau Spider pour explorer la liste TOP250 des films Douban. Nous utiliserons cette liste pour obtenir le classement des films.
Dans le fichier douban.py, nous ajouterons le code suivant :
import scrapy class DoubanSpider(scrapy.Spider): name = 'douban' allowed_domains = ['douban.com'] start_urls = ['https://movie.douban.com/top250'] def parse(self, response): movie_list = response.xpath('//div[@class="item"]') for movie in movie_list: yield { 'name': movie.xpath('.//span[@class="title"]/text()').get(), 'director': movie.xpath('.//div[@class="bd"]/p/text()[1]').get(), 'actors': movie.xpath('.//div[@class="bd"]/p/text()[2]').get(), 'genre': movie.xpath('.//div[@class="bd"]/p/text()[3]').get(), 'country': movie.xpath('.//div[@class="bd"]/p/text()[4]').get(), 'language': movie.xpath('.//div[@class="bd"]/p/text()[5]').get(), 'release_date': movie.xpath('.//div[@class="bd"]/p/text()[6]').get(), 'duration': movie.xpath('.//div[@class="bd"]/p/text()[7]').get(), 'rating': movie.xpath('.//span[@class="rating_num"]/text()').get(), 'num_reviews': movie.xpath('.//div[@class="star"]/span[@class="rating_num"]/text()').get(), } next_page = response.xpath('//span[@class="next"]/a/@href') if next_page: url = response.urljoin(next_page[0].get()) yield scrapy.Request(url, callback=self.parse)
Dans le code, nous utilisons une variable appelée next_page pour vérifier si nous avons atteint la dernière page. Si nous n'avons pas encore atteint la dernière page, nous continuons à explorer la page suivante.
Ensuite, nous devons mettre à jour la méthode d'analyse pour obtenir le classement du film. Nous utiliserons la fonction enumerate de Python pour associer un classement à chaque film.
Dans le fichier douban.py, nous remplacerons la méthode d'analyse d'origine par :
def parse(self, response): movie_list = response.xpath('//div[@class="item"]') for i, movie in enumerate(movie_list): yield { 'rank': i + 1, 'name': movie.xpath('.//span[@class="title"]/text()').get(), 'director': movie.xpath('.//div[@class="bd"]/p/text()[1]').get(), 'actors': movie.xpath('.//div[@class="bd"]/p/text()[2]').get(), 'genre': movie.xpath('.//div[@class="bd"]/p/text()[3]').get(), 'country': movie.xpath('.//div[@class="bd"]/p/text()[4]').get(), 'language': movie.xpath('.//div[@class="bd"]/p/text()[5]').get(), 'release_date': movie.xpath('.//div[@class="bd"]/p/text()[6]').get(), 'duration': movie.xpath('.//div[@class="bd"]/p/text()[7]').get(), 'rating': movie.xpath('.//span[@class="rating_num"]/text()').get(), 'num_reviews': movie.xpath('.//div[@class="star"]/span[@class="rating_num"]/text()').get(), } next_page = response.xpath('//span[@class="next"]/a/@href') if next_page: url = response.urljoin(next_page[0].get()) yield scrapy.Request(url, callback=self.parse)
Maintenant, si nous exécutons à nouveau notre spider, il obtiendra les données des 250 premiers films et les renverra à la ligne de commande. À ce stade, nous verrons le classement de tous les films.
- Conclusion
Scrapy est un outil très puissant et flexible pour récupérer des données rapidement et efficacement. Dans cet article, nous avons utilisé avec succès Scrapy pour explorer les données des films Douban et les classements de popularité.
Nous utilisons le code Python et XPath pour obtenir sélectivement des informations sur la page Web et utilisons des instructions de rendement pour les renvoyer à l'utilisateur. Tout au long du processus, Scrapy fournit un moyen simple et efficace de gérer et d'explorer de grandes quantités de données, nous permettant d'effectuer rapidement l'analyse et le traitement 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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Scrapy met en œuvre l'exploration d'articles et l'analyse des comptes publics WeChat. WeChat est une application de médias sociaux populaire ces dernières années, et les comptes publics qui y sont exploités jouent également un rôle très important. Comme nous le savons tous, les comptes publics WeChat sont un océan d’informations et de connaissances, car chaque compte public peut publier des articles, des messages graphiques et d’autres informations. Ces informations peuvent être largement utilisées dans de nombreux domaines, tels que les reportages médiatiques, la recherche universitaire, etc. Ainsi, cet article expliquera comment utiliser le framework Scrapy pour explorer et analyser les articles du compte public WeChat. Scr

Introduction La semaine dernière, j'ai écrit une introduction sur le scraping de pages Web pour collecter des métadonnées, et j'ai mentionné qu'il était impossible de scraper le site Web du New York Times. Le paywall du New York Times bloque vos tentatives de collecte de métadonnées de base. Mais il existe un moyen de résoudre ce problème en utilisant l'API du New York Times. Récemment, j'ai commencé à créer un site Web communautaire sur la plateforme Yii, que je publierai dans un prochain tutoriel. Je souhaite pouvoir ajouter facilement des liens pertinents par rapport au contenu du site. Même si les utilisateurs peuvent facilement coller des URL dans des formulaires, fournir des informations sur le titre et la source prend du temps. Ainsi, dans le didacticiel d'aujourd'hui, je vais étendre le code de scraping que j'ai récemment écrit pour tirer parti de l'API du New York Times afin de collecter les titres lors de l'ajout d'un lien vers le New York Times. Rappelez-vous, je suis impliqué

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.

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

Comment définir le mode anglais sur l'application Douban ? L'application Douban est un logiciel qui vous permet de consulter les avis de diverses ressources. Ce logiciel a de nombreuses fonctions. Lorsque les utilisateurs utilisent ce logiciel pour la première fois, ils doivent se connecter, et la langue par défaut de ce logiciel est le mode chinois. les utilisateurs aiment utiliser le mode anglais, mais ils ne savent pas comment définir le mode anglais sur ce logiciel. L'éditeur ci-dessous a compilé la méthode de configuration du mode anglais pour votre référence. Comment définir le mode anglais sur l'application Douban : 1. Ouvrez l'application « Douban » sur votre téléphone ; 2. Cliquez sur « Mon » ; 3. Sélectionnez « Paramètres » dans le coin supérieur droit.

Comment explorer et traiter les données en appelant l'interface API dans un projet PHP ? 1. Introduction Dans les projets PHP, nous devons souvent explorer les données d'autres sites Web et traiter ces données. De nombreux sites Web fournissent des interfaces API et nous pouvons obtenir des données en appelant ces interfaces. Cet article explique comment utiliser PHP pour appeler l'interface API afin d'explorer et de traiter les données. 2. Obtenez l'URL et les paramètres de l'interface API Avant de commencer, nous devons obtenir l'URL de l'interface API cible et les paramètres requis.

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

Selon les informations de ce site Web du 17 août, le thriller spatial "Alien : The Last Ship" de 20th Century Pictures est sorti hier (16 août) en Chine continentale. Le score Douban a été annoncé aujourd'hui comme étant de 7,7. Selon les données en temps réel de Beacon Professional Edition, le 17 août à 20h5, le box-office du film a dépassé les 100 millions. La répartition des notes sur ce site est la suivante : 5 étoiles représentent 20,9 % 4 étoiles représentent 49,5 % 3 étoiles représentent 25,4 % 2 étoiles représentent 3,7 % 1 étoiles représentent 0,6 % "Alien : Death Ship" est produit par 20th Century Pictures, Ridley Scott, le réalisateur de "Blade Runner" et "Prometheus", est le producteur, réalisé par Fede Alvare, écrit par Fede Alvare et Rodo Seiagues, et Card Leigh Spaeny, Isabella Merced, Aileen Wu, Spike Fey.
