Heim Backend-Entwicklung Python-Tutorial Wie kann man mit Scrapy Douban-Bücher und deren Bewertungen und Kommentare crawlen?

Wie kann man mit Scrapy Douban-Bücher und deren Bewertungen und Kommentare crawlen?

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

Mit der Entwicklung des Internets verlassen sich die Menschen zunehmend auf das Internet, um Informationen zu erhalten. Für Buchliebhaber ist Douban Books zu einer unverzichtbaren Plattform geworden. Darüber hinaus bietet Douban Books eine Fülle von Buchbewertungen und Rezensionen, die es den Lesern ermöglichen, ein Buch umfassender zu verstehen. Das manuelle Abrufen dieser Informationen ist jedoch gleichbedeutend mit der Suche nach der Nadel im Heuhaufen. Zu diesem Zeitpunkt können wir die Daten mit dem Scrapy-Tool crawlen.

Scrapy ist ein auf Python basierendes Open-Source-Webcrawler-Framework, das uns hilft, Daten effizient von Websites zu extrahieren. In diesem Artikel werde ich mich auf die Schritte konzentrieren und im Detail vorstellen, wie man mit Scrapy Douban-Bücher und deren Bewertungen und Kommentare crawlt.

Schritt 1: Scrapy installieren

Zuerst müssen Sie Scrapy auf Ihrem Computer installieren. Wenn Sie pip (Python-Paketverwaltungstool) installiert haben, müssen Sie nur den folgenden Befehl im Terminal oder in der Befehlszeile eingeben:

pip install scrapy
Nach dem Login kopieren

Auf diese Weise wird Scrapy auf Ihrem Computer installiert. Wenn ein Fehler oder eine Warnung auftritt, wird empfohlen, entsprechend den Anweisungen entsprechende Anpassungen vorzunehmen.

Schritt 2: Erstellen Sie ein neues Scrapy-Projekt

Als nächstes müssen wir den folgenden Befehl im Terminal oder in der Befehlszeile eingeben, um ein neues Scrapy-Projekt zu erstellen:

scrapy startproject douban
Nach dem Login kopieren

Dieser Befehl erstellt einen Ordner namens douban im aktuellen Verzeichnis. Es enthält die grundlegende Datei- und Verzeichnisstruktur von Scrapy.

Schritt 3: Schreiben Sie ein Crawler-Programm

In Scrapy müssen wir ein Crawler-Programm schreiben, um Scrapy mitzuteilen, wie Daten von der Website extrahiert werden sollen. Daher müssen wir eine neue Datei mit dem Namen douban_spider.py erstellen und den folgenden Code schreiben: douban_spider.py 的文件,并编写如下代码:

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}
Nach dem Login kopieren

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

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

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

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

第四步:运行爬虫程序

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

scrapy crawl douban -o result.json
Nach dem Login kopieren

这个指令的作用是启动名为 doubanrrreee

Der obige Code implementiert zwei Funktionen:

  1. Crawling der 250 besten Douban-Bücher Titel, Autor, Bewertung und Anzahl der Rezensionen auf der Seite.
  2. Geben Sie die gecrawlten Daten in Form eines Wörterbuchs zurück.
In diesem Programm müssen wir zunächst eine DoubanSpider-Klasse definieren und den Namen des Crawlers, den Domänennamen und die Start-URL angeben, auf die der Crawler zugreifen darf. In der Methode parse analysieren wir die HTML-Seite über das Objekt scrapy.Selector und verwenden XPath-Ausdrücke, um relevante Informationen über das Buch zu erhalten.

Nachdem wir die Daten erhalten haben, verwenden wir das Schlüsselwort yield, um die Daten in Form eines Wörterbuchs zurückzugeben. Das Schlüsselwort yield wird hier verwendet, um die Funktion in einen Generator umzuwandeln, um den Effekt zu erzielen, dass jeweils nur ein Datenwert zurückgegeben wird. In Scrapy können wir durch die Definition von Generatoren ein effizientes Crawling von Website-Daten erreichen. 🎜🎜Schritt 4: Führen Sie das Crawler-Programm aus🎜🎜Nachdem wir das Crawler-Programm geschrieben haben, müssen wir den folgenden Code im Terminal oder in der Befehlszeile ausführen, um das Crawler-Programm zu starten: 🎜rrreee🎜Die Funktion dieses Befehls besteht darin, das Crawler-Programm zu starten mit dem Namen douban und geben Sie die gecrawlten Daten im JSON-Format in die Datei result.json aus. 🎜🎜Durch die oben genannten vier Schritte können wir Douban-Bücher und ihre Bewertungen und Rezensionsinformationen erfolgreich crawlen. Wenn Sie die Effizienz und Stabilität des Crawler-Programms weiter verbessern möchten, müssen Sie natürlich auch einige andere Optimierungen und Anpassungen vornehmen. Zum Beispiel: Verzögerungszeit einstellen, Anti-Crawling-Mechanismus verhindern usw. 🎜🎜Kurz gesagt ist die Verwendung von Scrapy zum Crawlen von Douban-Büchern und deren Bewertungen und Rezensionsinformationen eine relativ einfache und interessante Aufgabe. Wenn Sie sich für Daten-Crawling und Python-Programmierung interessieren, können Sie das Daten-Crawling auch auf anderen Websites ausprobieren, um Ihre Programmierkenntnisse zu verbessern. 🎜

Das obige ist der detaillierte Inhalt vonWie kann man mit Scrapy Douban-Bücher und deren Bewertungen und Kommentare crawlen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Metadaten-Scraping mit der New York Times API Metadaten-Scraping mit der New York Times API Sep 02, 2023 pm 10:13 PM

Einleitung Letzte Woche habe ich eine Einleitung über das Scrapen von Webseiten zum Sammeln von Metadaten geschrieben und erwähnt, dass es unmöglich sei, die Website der New York Times zu scrapen. Die Paywall der New York Times blockiert Ihre Versuche, grundlegende Metadaten zu sammeln. Aber es gibt eine Möglichkeit, dieses Problem mithilfe der New York Times API zu lösen. Vor kurzem habe ich mit dem Aufbau einer Community-Website auf der Yii-Plattform begonnen, die ich in einem zukünftigen Tutorial veröffentlichen werde. Ich möchte in der Lage sein, problemlos Links hinzuzufügen, die für den Inhalt der Website relevant sind. Während Benutzer URLs problemlos in Formulare einfügen können, ist die Bereitstellung von Titel- und Quelleninformationen zeitaufwändig. Deshalb werde ich im heutigen Tutorial den Scraping-Code, den ich kürzlich geschrieben habe, erweitern, um die New York Times-API zum Sammeln von Schlagzeilen zu nutzen, wenn ich einen Link zur New York Times hinzufüge. Denken Sie daran, ich bin involviert

Scrapy implementiert das Crawlen und Analysieren von Artikeln über öffentliche WeChat-Konten Scrapy implementiert das Crawlen und Analysieren von Artikeln über öffentliche WeChat-Konten Jun 22, 2023 am 09:41 AM

Scrapy implementiert das Crawlen von Artikeln und die Analyse öffentlicher WeChat-Konten. WeChat ist in den letzten Jahren eine beliebte Social-Media-Anwendung, und die darin betriebenen öffentlichen Konten spielen ebenfalls eine sehr wichtige Rolle. Wie wir alle wissen, sind öffentliche WeChat-Konten ein Ozean an Informationen und Wissen, da jedes öffentliche Konto Artikel, grafische Nachrichten und andere Informationen veröffentlichen kann. Diese Informationen können in vielen Bereichen umfassend genutzt werden, beispielsweise in Medienberichten, in der akademischen Forschung usw. In diesem Artikel erfahren Sie, wie Sie das Scrapy-Framework zum Crawlen und Analysieren von WeChat-Artikeln zu öffentlichen Konten verwenden. Scr

So stellen Sie den englischen Modus in der Douban-App ein. So stellen Sie den englischen Modus in der Douban-App ein So stellen Sie den englischen Modus in der Douban-App ein. So stellen Sie den englischen Modus in der Douban-App ein Mar 12, 2024 pm 02:46 PM

Wie stelle ich den Englischmodus in der Douban-App ein? Die Douban-App ist eine Software, mit der Sie Bewertungen verschiedener Ressourcen anzeigen können. Diese Software verfügt über viele Funktionen. Wenn Benutzer diese Software zum ersten Mal verwenden, müssen sie sich anmelden. Die Standardsprache dieser Software ist für einige Benutzer verwenden gerne den englischen Modus, wissen jedoch nicht, wie sie den englischen Modus in dieser Software einstellen sollen. Der folgende Editor hat die Methode zum Einstellen des englischen Modus als Referenz zusammengestellt. So stellen Sie den Englischmodus in der Douban-App ein: 1. Öffnen Sie die „Douban“-App auf Ihrem Telefon. 2. Klicken Sie auf „Mein“ 3. Wählen Sie „Einstellungen“ in der oberen rechten Ecke.

Scrapy-Fallanalyse: So crawlen Sie Unternehmensinformationen auf LinkedIn Scrapy-Fallanalyse: So crawlen Sie Unternehmensinformationen auf LinkedIn Jun 23, 2023 am 10:04 AM

Scrapy ist ein Python-basiertes Crawler-Framework, mit dem schnell und einfach relevante Informationen im Internet abgerufen werden können. In diesem Artikel analysieren wir anhand eines Scrapy-Falls im Detail, wie Unternehmensinformationen auf LinkedIn gecrawlt werden. Bestimmen Sie die Ziel-URL. Zunächst müssen wir klarstellen, dass unser Ziel die Unternehmensinformationen auf LinkedIn sind. Daher müssen wir die URL der LinkedIn-Unternehmensinformationsseite finden. Öffnen Sie die LinkedIn-Website, geben Sie den Firmennamen in das Suchfeld ein und

Scrapy-Implementierungsmethode für asynchrones Laden basierend auf Ajax Scrapy-Implementierungsmethode für asynchrones Laden basierend auf Ajax Jun 22, 2023 pm 11:09 PM

Scrapy ist ein Open-Source-Python-Crawler-Framework, das schnell und effizient Daten von Websites abrufen kann. Viele Websites verwenden jedoch die asynchrone Ladetechnologie von Ajax, was es Scrapy unmöglich macht, Daten direkt abzurufen. In diesem Artikel wird die Scrapy-Implementierungsmethode basierend auf dem asynchronen Laden von Ajax vorgestellt. 1. Ajax-Prinzip des asynchronen Ladens Ajax-Asynchronladen: Bei der herkömmlichen Seitenlademethode muss der Browser, nachdem er eine Anfrage an den Server gesendet hat, darauf warten, dass der Server eine Antwort zurückgibt und die gesamte Seite lädt, bevor er mit dem nächsten Schritt fortfährt.

Wie kann ich Daten durch Aufrufen der API-Schnittstelle in einem PHP-Projekt crawlen und verarbeiten? Wie kann ich Daten durch Aufrufen der API-Schnittstelle in einem PHP-Projekt crawlen und verarbeiten? Sep 05, 2023 am 08:41 AM

Wie kann ich Daten durch Aufrufen der API-Schnittstelle in einem PHP-Projekt crawlen und verarbeiten? 1. Einführung In PHP-Projekten müssen wir häufig Daten von anderen Websites crawlen und diese Daten verarbeiten. Viele Websites bieten API-Schnittstellen, und wir können Daten durch Aufrufen dieser Schnittstellen abrufen. In diesem Artikel wird erläutert, wie Sie mit PHP die API-Schnittstelle zum Crawlen und Verarbeiten von Daten aufrufen. 2. Ermitteln Sie die URL und die Parameter der API-Schnittstelle. Bevor Sie beginnen, müssen Sie die URL der Ziel-API-Schnittstelle und die erforderlichen Parameter ermitteln.

Tipps zur Scrapy-Optimierung: So reduzieren Sie das Crawling doppelter URLs und verbessern die Effizienz Tipps zur Scrapy-Optimierung: So reduzieren Sie das Crawling doppelter URLs und verbessern die Effizienz Jun 22, 2023 pm 01:57 PM

Scrapy ist ein leistungsstarkes Python-Crawler-Framework, mit dem große Datenmengen aus dem Internet abgerufen werden können. Bei der Entwicklung von Scrapy stoßen wir jedoch häufig auf das Problem, doppelte URLs zu crawlen, was viel Zeit und Ressourcen verschwendet und die Effizienz beeinträchtigt. In diesem Artikel werden einige Scrapy-Optimierungstechniken vorgestellt, um das Crawlen doppelter URLs zu reduzieren und die Effizienz von Scrapy-Crawlern zu verbessern. 1. Verwenden Sie die Attribute „start_urls“ und „allowed_domains“ im Scrapy-Crawler

Der Weltraumthriller „Alien: Das letzte Schiff' erzielte auf Douban 7,7 Punkte und die Einspielergebnisse übertrafen am Tag nach seiner Veröffentlichung die 100-Millionen-Marke. Der Weltraumthriller „Alien: Das letzte Schiff' erzielte auf Douban 7,7 Punkte und die Einspielergebnisse übertrafen am Tag nach seiner Veröffentlichung die 100-Millionen-Marke. Aug 17, 2024 pm 10:50 PM

Laut Nachrichten dieser Website vom 17. August wurde der Weltraumthriller „Alien: The Last Ship“ von 20th Century Pictures gestern (16. August) auf dem chinesischen Festland veröffentlicht. Der Douban-Score wurde heute mit 7,7 bekannt gegeben. Laut Echtzeitdaten von Beacon Professional Edition hat der Film am 17. August um 20:5 Uhr die 100-Millionen-Marke überschritten. Die Verteilung der Bewertungen auf dieser Seite ist wie folgt: 5 Sterne machen 20,9 % aus, 4 Sterne machen 49,5 % aus, 3 Sterne machen 25,4 % aus, 2 Sterne machen 3,7 % aus, 1 Sterne machen 0,6 % aus. „Alien: Death Ship“ wird produziert von 20th Century Pictures, als Produzent fungiert Ridley Scott, der Regisseur von „Blade Runner“ und „Prometheus“, Regie führte Fede Alvare, das Drehbuch schrieben Fede Alvare und Rodo Seiagues sowie Card Leigh Spaeny, Isabella Merced, Aileen Wu und Spike Fey

See all articles