Maison développement back-end Tutoriel Python Comment utiliser Scrapy pour explorer les livres Douban et leurs notes et commentaires ?

Comment utiliser Scrapy pour explorer les livres Douban et leurs notes et commentaires ?

Jun 22, 2023 am 10:21 AM
豆瓣 爬取 scrapy

Avec le développement d'Internet, les gens comptent de plus en plus sur Internet pour obtenir des informations. Pour les amateurs de livres, Douban Books est devenu une plateforme indispensable. En outre, Douban Books propose également une multitude d'évaluations et de critiques de livres, permettant aux lecteurs de comprendre un livre de manière plus complète. Cependant, obtenir ces informations manuellement revient à chercher une aiguille dans une botte de foin. À ce stade, nous pouvons utiliser l'outil Scrapy pour explorer les données.

Scrapy est un framework de robot d'exploration de sites Web open source basé sur Python qui nous aide à extraire efficacement les données des sites Web. Dans cet article, je vais me concentrer sur les étapes et présenter en détail comment utiliser Scrapy pour explorer les livres Douban ainsi que leurs notes et commentaires.

Première étape : Installer Scrapy

Tout d'abord, vous devez installer Scrapy sur votre ordinateur. Si vous avez installé pip (outil de gestion de packages Python), il vous suffit de saisir la commande suivante dans le terminal ou la ligne de commande :

pip install scrapy
Copier après la connexion

De cette façon, Scrapy sera installé sur votre ordinateur. Si une erreur ou un avertissement se produit, il est recommandé d'effectuer les ajustements appropriés en fonction des invites.

Étape 2 : Créer un nouveau projet Scrapy

Ensuite, nous devons entrer la commande suivante dans le terminal ou la ligne de commande pour créer un nouveau projet Scrapy :

scrapy startproject douban
Copier après la connexion
#🎜 🎜#Cette commande créera un dossier nommé douban dans le répertoire courant, qui contient les fichiers de base et la structure de répertoires de Scrapy.

Étape 3 : Écrire un programme d'exploration

Dans Scrapy, nous devons écrire un programme d'exploration pour indiquer à Scrapy comment extraire les données du site Web. Par conséquent, nous devons créer un nouveau fichier nommé douban_spider.py et écrire le code suivant :

import scrapy

class DoubanSpider(scrapy.Spider):
    name = 'douban'
    allowed_domains = ['book.douban.com']
    start_urls = ['https://book.douban.com/top250']

    def parse(self, response):
        selector = scrapy.Selector(response)
        books = selector.xpath('//tr[@class="item"]')
        for book in books:
            title = book.xpath('td[2]/div[1]/a/@title').extract_first()
            author = book.xpath('td[2]/div[1]/span[1]/text()').extract_first()
            score = book.xpath('td[2]/div[2]/span[@class="rating_nums"]/text()').extract_first()
            comment_count = book.xpath('td[2]/div[2]/span[@class="pl"]/text()').extract_first()
            comment_count = comment_count.strip('()')
            yield {'title': title, 'author': author, 'score': score, 'comment_count': comment_count}
Copier après la connexion
douban_spider.py 的文件,并编写如下代码:

scrapy crawl douban -o result.json
Copier après la connexion

上面的代码实现了两个功能:

  1. 爬取豆瓣图书 top250 页面中的书籍标题、作者、评分和评论数。
  2. 将爬取到的数据以字典的形式返回。

在这个程序中,我们首先需要定义一个 DoubanSpider 类,并指定爬虫的名称、允许爬虫访问的域名和起始 URL。在 parse 方法中,我们通过 scrapy.Selector 对象进行 HTML 页面解析,并使用 XPath 表达式获取书籍的相关信息。

获取数据后,我们使用 yield 关键字将数据以字典的形式返回。这里的 yield 关键字的作用是将函数变成一个生成器,实现一次返回一个数据的效果。在 Scrapy 中,我们可以通过定义生成器的方式,实现对网站数据的高效抓取。

第四步:运行爬虫程序

在编写完爬虫程序后,我们需要在终端或命令行中运行以下代码来启动爬虫程序:

rrreee

这个指令的作用是启动名为 doubanLe code ci-dessus implémente deux fonctions :

    Exploration des titres de livres, des auteurs, des notes et du nombre de critiques dans les 250 premières pages de Douban Books.
  1. Renvoyer les données analysées sous la forme d'un dictionnaire.

Dans ce programme, nous devons d'abord définir une classe DoubanSpider et spécifier le nom du robot, le nom de domaine et l'URL de départ auxquels le robot est autorisé pour accéder. Dans la méthode parse, nous analysons la page HTML via l'objet scrapy.Selector et utilisons des expressions XPath pour obtenir des informations pertinentes sur le livre.

Après avoir obtenu les données, nous utilisons le mot-clé yield pour renvoyer les données sous forme de dictionnaire. Le mot-clé yield est utilisé ici pour transformer la fonction en générateur afin d'obtenir l'effet de renvoyer une donnée à la fois. Dans Scrapy, nous pouvons réaliser une exploration efficace des données de sites Web en définissant des générateurs.

#🎜🎜#Étape 4 : Exécutez le programme d'exploration #🎜🎜##🎜🎜#Après avoir écrit le programme d'exploration, nous devons exécuter le code suivant dans le terminal ou la ligne de commande pour démarrer le programme d'exploration : #🎜 🎜# rrreee#🎜🎜#La fonction de cette commande est de démarrer le robot nommé douban et de sortir les données analysées dans le fichier result.json au format JSON. #🎜🎜##🎜🎜#Grâce aux quatre étapes ci-dessus, nous pouvons explorer avec succès les livres Douban, leurs notes et évaluer les informations. Bien sûr, si vous avez besoin d'améliorer encore l'efficacité et la stabilité de votre programme d'exploration, vous devrez procéder à d'autres optimisations et ajustements. Par exemple : réglage du délai, prévention du mécanisme anti-exploration, etc. #🎜🎜##🎜🎜#En bref, utiliser Scrapy pour explorer les livres Douban, leurs notes et les informations de révision est une tâche relativement simple et intéressante. Si vous êtes intéressé par l'exploration de données et la programmation Python, vous pouvez essayer davantage l'exploration de données à partir d'autres sites Web pour améliorer vos compétences en programmation. #🎜🎜#

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.

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)

Scrapy implémente l'exploration et l'analyse des articles du compte public WeChat Scrapy implémente l'exploration et l'analyse des articles du compte public WeChat Jun 22, 2023 am 09:41 AM

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

Récupération de métadonnées à l'aide de l'API du New York Times Récupération de métadonnées à l'aide de l'API du New York Times Sep 02, 2023 pm 10:13 PM

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é

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 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

Comment définir le mode anglais sur l'application Douban Comment définir le mode anglais sur l'application Douban Comment définir le mode anglais sur l'application Douban Comment définir le mode anglais sur l'application Douban Mar 12, 2024 pm 02:46 PM

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 ? Comment explorer et traiter les données en appelant l'interface API dans un projet PHP ? Sep 05, 2023 am 08:41 AM

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.

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

Le thriller spatial 'Alien' a obtenu un score de 7,7 sur Douban, et le box-office a dépassé les 100 millions le lendemain de sa sortie. Le thriller spatial 'Alien' a obtenu un score de 7,7 sur Douban, et le box-office a dépassé les 100 millions le lendemain de sa sortie. Aug 17, 2024 pm 10:50 PM

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.

See all articles