Goodreads ist eine der besten Online-Adressen, um Gedanken zu Büchern auszutauschen. Mit einer Community von über 90 Millionen registrierte BenutzerAuf der Website wimmelt es von Rezensionen, Kommentaren und Bewertungen zu zahllosen Büchern. Diese Fülle an benutzergenerierten Inhalten ist eine wahre Goldgrube für alle, die wertvolle Informationen wie Buchbewertungen und Leserfeedback suchen.
Dieser Beitrag führt Sie durch die Erstellung eines Programms zum Sammeln von Buchbewertungen und Kommentaren mit Python und dem Crawlbase Crawling API. Wir führen Sie durch die Einrichtung Ihres Arbeitsbereichs, den Umgang mit seitenweisen Ergebnissen und das organisierte Speichern der Informationen.
Bereit zum Eintauchen?
Inhaltsverzeichnis
- Warum Goodreads scrapen?
- Wichtige Datenpunkte zum Extrahieren aus Goodreads
- Crawlbase Crawling API für Goodreads Scraping
- Warum Crawlbase für Goodreads Scraping verwenden?
- Crawlbase Python-Bibliothek
- Installieren von Python und erforderlichen Bibliotheken
- Auswahl einer IDE
- Überprüfen des HTML auf Selektoren
- Schreiben des Goodreads Scrapers für Bewertungen und Kommentare
- Umgang mit Paginierung
- Speichern von Daten in einer JSON-Datei
- Vollständiges Codebeispiel
Warum Goodreads scrapen?
Goodreads ist eine großartige Anlaufstelle für Buchliebhaber, Forscher und Unternehmen. Das Scraping von Goodreads kann Ihnen viele benutzergenerierte Daten liefern, mit denen Sie Buchtrends analysieren, Benutzerfeedback sammeln oder eine Liste beliebter Bücher erstellen können. Hier sind einige Gründe, warum das Scraping von Goodreads nützlich sein kann:
- Umfangreiche Daten: Goodreads bietet Bewertungen, Rezensionen und Kommentare zu Büchern und ist somit eine ideale Quelle, um die Vorlieben der Leser kennenzulernen.
- Große Benutzerbasis: Mit Millionen aktiver Benutzer verfügt Goodreads über einen riesigen Datensatz, der sich ideal für eingehende Analysen eignet.
- Marktforschung: Die von Goodreads verfügbaren Daten können Unternehmen dabei helfen, Markttrends, beliebte Bücher und Kundenfeedback zu verstehen, die für Marketing oder Produktentwicklung nützlich sein können.
- Persönliche projekte: Das Scraping von Goodreads kann praktisch sein, wenn Sie an einem persönlichen Projekt arbeiten, beispielsweise dem Aufbau Ihrer eigenen Buch-Empfehlungsmaschine oder der Analyse von Lesegewohnheiten.
Wichtige Datenpunkte zum Extrahieren aus Goodreads
Beim Scraping von Goodreads sollten Sie sich auf die wichtigsten Datenpunkte konzentrieren, um nützliche Erkenntnisse zu gewinnen. Hier sind die wichtigsten, die Sie sammeln sollten:
- Buchtitel: Dies ist für jede Analyse oder Berichterstattung unerlässlich.
- Name des Autors: Zum Kategorisieren und Organisieren von Büchern und zum Verfolgen beliebter Autoren.
- Durchschnittliche Bewertung: Durchschnittliche Bewertung von Goodreads basierend auf Benutzerrezensionen. Dies ist der Schlüssel zum Verständnis der Popularität des Buches.
- Anzahl der Bewertungen: Gesamtzahl der Bewertungen. Wie viele Leute haben das Buch gelesen.
- Benutzerkommentare/Bewertungen: Benutzerbewertungen eignen sich hervorragend für qualitative Analysen. Was hat den Lesern gefallen oder nicht gefallen?
- Genres: Goodreads-Bücher sind oft mit Genres gekennzeichnet. Hilft bei der Kategorisierung und Empfehlung ähnlicher Bücher.
- Erscheinungsjahr: Nützlich, um Trends im Laufe der Zeit zu verfolgen oder Bücher zu vergleichen, die im selben Jahr veröffentlicht wurden.
- Buchzusammenfassung: Die Inhaltsangabe bietet eine Zusammenfassung der Handlung des Buches und gibt den Kontext zum Inhalt des Buches an.
Crawlbase Crawling API für Goodreads Scraping
Beim Scraping dynamischer Websites wie Goodreads haben herkömmliche Anfragemethoden aufgrund von JavaScript-Rendering und komplexer Paginierung Probleme. Hier kommt der Crawlbase Crawling API ist praktisch. Es kümmert sich um JavaScript-Rendering, paginierten Inhalt und Captchas, sodass das Scraping von Goodreads reibungsloser abläuft.
Warum Crawlbase für Goodreads Scraping verwenden?
- JavaScript-Rendering: Crawlbase verarbeitet das JavaScript, das Goodreads zur Anzeige von Bewertungen, Kommentaren und anderen dynamischen Inhalten verwendet.
- Mühelose Paginierung: Mit der dynamischen Paginierung wird die Navigation durch mehrere Seiten mit Rezensionen automatisch.
- Vorbeugung gegen Blockaden: Crawlbase verwaltet Proxys und Captchas für Sie und verringert so das Risiko, blockiert oder erkannt zu werden.
Crawlbase Python-Bibliothek
Crawlbase verfügt über eine Python-Bibliothek, die das Web Scraping erheblich vereinfacht. Diese Bibliothek erfordert zur Authentifizierung ein Zugriffstoken. Sie können ein Token erhalten, nachdem ein Profil erstellen auf Crawlbase.
Hier ist eine Beispielfunktion, die die Verwendung der Crawlbase demonstriert Crawling API um Anfragen zu senden:
1 | für Crawlbase importieren CrawlingAPI |
Note: Crawlbase bietet zwei Arten von Token an:
- Normales Token für statische Sites.
- JavaScript (JS)-Token für dynamische oder browserbasierte Anfragen.
Zum Scraping dynamischer Websites wie Goodreads benötigen Sie das JS-Token. Crawlbase stellt Ihnen 1,000 kostenlose Anfragen zum Einstieg zur Verfügung, und für diese Testversion ist keine Kreditkarte erforderlich. Weitere Einzelheiten finden Sie unter Crawlbase Crawling API Dokumentation.
Einrichten Ihrer Python-Umgebung
Bevor Sie Goodreads nach Buchbewertungen und Kommentaren durchsuchen, müssen Sie Ihre Python-Umgebung richtig einrichten. Hier ist eine Kurzanleitung für den Einstieg.
Installieren von Python und erforderlichen Bibliotheken
- Python herunterladen: Gehen Sie zum Python-Website und holen Sie sich die aktuelle Version, die für Ihr Betriebssystem verfügbar ist. Denken Sie während der Installation daran, Python zum Systempfad hinzuzufügen.
- Installieren Sie Python: Überprüfen Sie anschließend, ob die Installation erfolgreich war, indem Sie in der Konsole oder im Befehlsfenster die folgenden Anweisungen eingeben:
1 | Python --Version |
- Bibliotheken installieren: Mit Hilfe von
pip
, installieren und importieren Sie die erforderlichen Bibliotheken, einschließlichcrawlbase
um eine HTTP-Anfrage mit Crawlbase zu stellen Crawling APIund derBeautifulSoup
aus der bs4-Bibliothek zum Parsen von Webseiten:
1 | pip installieren crawlbase |
Auswahl einer IDE
Eine gute IDE vereinfacht Ihre Codierung. Nachfolgend sind einige der beliebtesten aufgeführt:
- VS-Code: Einfach und leicht, vielseitig einsetzbar, kostenlos mit Python-Erweiterungen.
- PyCharm: Eine robuste Python-IDE mit vielen integrierten Tools für die professionelle Entwicklung.
- Jupyter Notizbücher: Gut zum Ausführen von Codes mit einer interaktiven Einstellung, insbesondere für Datenprojekte.
Wenn Ihre Umgebung bereit ist, können Sie nun mit dem Scraping von Goodreads fortfahren.
Durchsuchen von Goodreads nach Buchbewertungen und Kommentaren
Beim Web Scraping von Buchbewertungen und Kommentaren von Goodreads muss man berücksichtigen, dass sich der Inhalt ständig ändert. Die Kommentare und Bewertungen werden asynchron geladen und die Paginierung erfolgt über Schaltflächen. In diesem Teil wird beschrieben, wie man diese Informationen erhält und mit der Paginierung über Crawlbase unter Verwendung eines JS-Tokens arbeitet. css_click_selector
Parameter für die Schaltflächennavigation.
Überprüfen des HTML auf Selektoren
Zunächst muss man sich den HTML-Code der Goodreads-Seite ansehen, von der man scrapen möchte. Um beispielsweise Rezensionen für The Great Gatsby zu scrapen, verwenden Sie die URL:
1 | https://www.goodreads.com/book/show/4671.The_Great_Gatsby/reviews |
Öffnen Sie die Entwicklertools in Ihrem Browser und navigieren Sie zu dieser URL.
Hier sind einige wichtige Auswahlkriterien, auf die Sie sich konzentrieren sollten:
- Buchtitel: Gefunden in einem
h1
Tag mit KlasseH1Title
, und zwar in einem Ankertag mitdata-testid="title"
. - Bewertungen: Befindet sich in einem
div
mit KlasseRatingStatistics
, mit dem Wert in einemspan
Tag der KlasseRatingStars
(Verwendung deraria-label
Attribut). - Rezensionen: Jede Bewertung ist innerhalb einer
article
in einemdiv
mit KlasseReviewsList
und KlasseReviewCard
. Jede Bewertung enthält:- Benutzername in einem
div
mitdata-testid="name"
. - Überprüfen Sie Text in einem
section
mit KlasseReviewText
, enthaltend aspan
mit KlasseFormatted
.
- Benutzername in einem
- Schaltfläche "Mehr laden": Die Schaltfläche „Weitere Bewertungen anzeigen“ im Bewertungsbereich für die Seitennummerierung, gekennzeichnet durch
button:has(span[data-testid="loadMore"])
.
Schreiben des Goodreads Scrapers für Bewertungen und Kommentare
Crawlbase Crawling API mehrere bereitstellen Parameter die Sie damit verwenden können. Mit dem JS-Token von Crawlbase können Sie das dynamische Laden von Inhalten auf Goodreads handhaben. Die Parameter ajax_wait und page_wait können verwendet werden, um der Seite Zeit zum Laden zu geben.
Hier ist ein Python-Skript, um Goodreads mit Crawlbase nach Buchdetails, Bewertungen und Kommentaren zu durchsuchen Crawling API.
1 | für Crawlbase importieren CrawlingAPI |
Umgang mit Paginierung
Goodreads verwendet ein knopfbasiertes Paginierungssystem, um weitere Rezensionen zu laden. Sie können Crawlbases css_click_selector
Parameter, um das Klicken auf die Schaltfläche „Weiter“ zu simulieren und zusätzliche Seiten mit Bewertungen abzurufen. Mit dieser Methode können Sie die größtmögliche Anzahl an Bewertungen sammeln.
So kann die Paginierung gehandhabt werden:
1 | def scrape_goodreads_reviews_with_pagination(Basis-URL): |
Speichern von Daten in einer JSON-Datei
Nachdem Sie die Buchdetails und Rezensionen extrahiert haben, können Sie die extrahierten Daten in eine JSON-Datei schreiben. Dieses Format eignet sich perfekt zum Speichern strukturierter Daten und lässt sich sehr einfach für die spätere Verwendung verarbeiten.
So speichern Sie die Daten:
1 | # Funktion zum Speichern von Scraped-Bewertungen in einer JSON-Datei |
Vollständiges Codebeispiel
Hier ist der vollständige Code, der Goodreads nach Buchbewertungen und -rezensionen durchsucht, die schaltflächenbasierte Paginierung handhabt und die Daten in einer JSON-Datei speichert:
1 | für Crawlbase importieren CrawlingAPI |
Durch die Verwendung des JS-Tokens von Crawlbase und die Handhabung der schaltflächenbasierten Paginierung extrahiert dieser Scraper effizient Buchbewertungen und -rezensionen von Goodreads und speichert sie in einem nutzbaren Format.
Beispielausgabe:
1 | { |
Abschließende Überlegungen
Durchsuchen Sie Goodreads nach Buchbewertungen und Kommentaren und erhalten Sie wertvolle Einblicke von Lesern. Mit Python und dem Crawlbase Crawling API macht es einfacher, insbesondere wenn Sie mit dynamischen Inhalten und schaltflächenbasierter Paginierung auf Goodreads arbeiten. Wenn wir uns um die technischen Komplexitäten kümmern, können Sie sich auf das Extrahieren der Daten konzentrieren.
Befolgen Sie die Schritte in dieser Anleitung, und Sie können Bewertungen und Beurteilungen auslesen und die Daten in einem strukturierten Format zur Analyse speichern. Wenn Sie mehr Web Scraping betreiben möchten, lesen Sie unsere Anleitungen zum Scraping anderer wichtiger Websites.
📜 So scrapen Sie Monster.com
📜 Wie man Groupon scrapt
📜 So scrapen Sie TechCrunch
📜 Wie man Clutch.co scrapt
Wenn Sie Fragen haben oder Feedback geben möchten, Support-Team kann beim Web Scraping helfen. Viel Spaß beim Scraping!
Häufig gestellte Fragen
F: Was ist die beste Möglichkeit, bei Goodreads nach Buchbewertungen und Kommentaren zu suchen?
Der beste Weg, Goodreads zu scrapen, ist die Verwendung von Python mit Crawlbase Crawling API. Diese Kombination ermöglicht es Ihnen, dynamische Inhalte wie Buchbewertungen und Kommentare zu scrapen. Crawlbase Crawling API kann JavaScript-Rendering und Paginierung verarbeiten, sodass Sie alle Daten problemlos abrufen können.
F: Welche Datenpunkte kann ich beim Scraping von Goodreads extrahieren?
Beim Scraping von Goodreads können Sie folgende Datenpunkte extrahieren: Buchtitel, Autoren, durchschnittliche Bewertungen, individuelle Benutzerbewertungen, Kommentare, Gesamtbewertungen. Diese Daten geben Ihnen Einblicke in die Aufnahme von Büchern durch Leser und helfen Ihnen, fundierte Entscheidungen für Buchempfehlungen oder Analysen zu treffen.
F: Wie funktioniert die Paginierung beim Scraping von Rezensionen von Goodreads?
Goodreads verwendet eine schaltflächenbasierte Paginierung, um weitere Rezensionen zu laden. Durch die Verwendung Crawlbase Crawling API Sie können programmgesteuert auf die Schaltfläche „Weiter“ klicken. Auf diese Weise werden alle Bewertungen geladen und Sie können vollständige Daten über mehrere Seiten hinweg abrufen, ohne manuell durch die Site navigieren zu müssen. Sie können Parameter wie folgt festlegen: css_click_selector
im API-Aufruf, um dies zu handhaben.