


Web Scraping ist ein leistungsstarkes Tool zum Sammeln von Daten von Websites. Ganz gleich, ob Sie Produktbewertungen sammeln, Preise verfolgen oder, in unserem Fall, Goodreads-Bücher durchsuchen, Web Scraping bietet endlose Möglichkeiten für datengesteuerte Anwendungen.
In diesem Blog-Beitrag erforschen wir die Grundlagen des Web-Scrapings, die Leistungsfähigkeit der Python BeautifulSoup-Bibliothek und erläutern ein Python-Skript, das zum Scraping von Goodreads Choice Awards-Daten entwickelt wurde. Abschließend besprechen wir, wie diese Daten für weitere Analysen oder Anwendungen in einer CSV-Datei gespeichert werden.
Was ist Goodreads?
Goodreads ist die weltweit größte Plattform für Leser und Buchempfehlungen. Es bietet Benutzern Zugriff auf Buchrezensionen, Autorendetails und beliebte Rankings. Jedes Jahr veranstaltet Goodreads die Goodreads Choice Awards, bei denen Leser für ihre Lieblingsbücher aus verschiedenen Genres wie Belletristik, Fantasy, Liebesromanen und mehr abstimmen. Dies macht Goodreads zu einem idealen Ziel für Web Scraping, um Erkenntnisse über angesagte Bücher und Autoren zu sammeln.
Was ist Web Scraping?
Beim Web Scraping werden automatisch Daten von Websites extrahiert. Es ermöglicht Ihnen das Sammeln und Strukturieren von Informationen für Aufgaben wie:
- Trends und Muster analysieren.
- Aggregieren von Inhalten wie Rezensionen oder Artikeln.
- Fütterung von Modellen oder Datenbanken für maschinelles Lernen.
Einrichten Ihrer Umgebung
Bevor Sie in das Skript eintauchen, müssen Sie die erforderlichen Bibliotheken installieren.
-
Python installieren
Stellen Sie sicher, dass Python auf Ihrem System installiert ist.
-
Erforderliche Bibliotheken installieren
Installieren Sie die erforderlichen Bibliotheken mit pip:
Anfrage: Ermöglicht uns, HTTP-Anfragen an eine URL zu senden und den Inhalt der Webseite abzurufen.
BeautifulSoup: Vereinfacht die HTML-Analyse und Datenextraktion.
Sobald diese Installationen abgeschlossen sind, können Sie mit dem Schaben beginnen!
Einführung in BeautifulSoup
BeautifulSoup ist eine Python-Bibliothek zum Parsen von HTML- und XML-Dokumenten. Es ermöglicht Entwicklern, durch Seitenstrukturen zu navigieren, Inhalte zu extrahieren und Roh-HTML in ein strukturiertes Format umzuwandeln.
Schlüsselmethoden in BeautifulSoup
Hier sind einige wesentliche Methoden, die wir in unserem Skript verwenden werden:
- BeautifulSoup(html, 'html.parser'): Initialisiert den Parser und ermöglicht Ihnen die Arbeit mit dem HTML-Inhalt.
- supple.select(selector): Findet Elemente mithilfe von CSS-Selektoren, z. B. Klassen oder Tags.
- supple.find(class_='class_name'): Sucht das erste Vorkommen eines Elements mit einer angegebenen Klasse.
- supple.find_parent(class_='class_name'): Findet das übergeordnete Tag des aktuellen Elements.
- supple.get('attribute'): Ruft den Wert eines Attributs von einem Element ab, wie href oder src.
Eine vollständige Liste der Methoden finden Sie in der BeautifulSoup-Dokumentation.
Einrichten des Skripts
Beginnen wir damit, die notwendigen Bibliotheken zu importieren und benutzerdefinierte Header zu definieren, um einen Browser nachzuahmen. Dies hilft, eine Blockierung durch die Website zu vermeiden.
Scraping-Kategorien und Bücher
Wir beginnen mit der Definition der URLs für die Goodreads‘ Choice Awards-Seite und die Hauptanwendung. Wir senden eine Anfrage an start_url und erhalten den Inhalt der Webseite.
Jede Kategorie enthält ein Genre und einen Link zu der entsprechenden Seite. Mit „soup.select“ extrahieren wir alle unter der Klasse „.category“ aufgeführten Kategorien.
Als nächstes durchlaufen Sie jede Kategorie, um den Genrenamen und die Seiten-URL zu erhalten.
Hier extrahieren wir den Kategorienamen (Genre) und die URL der Kategorieseite zur weiteren Verarbeitung.
Wir senden eine weitere Anfrage an jede Kategorie-URL und suchen alle Bücher unter dieser Kategorie.
category_books enthält die Liste aller Bücher unter der jeweiligen Kategorie.
Buchdaten extrahieren
Sobald wir die Liste der Bücher haben, werden wir jedes Buch durchlaufen und die Daten extrahieren.
Stimmen extrahieren
Wenn wir im DOM sehen, ist die Stimmenzahl im übergeordneten Element des Kategorieelements vorhanden. Wir müssen also die Methode find_parent verwenden, um das Element zu finden und die Abstimmungszahl zu extrahieren.
Buchtitel, Autor und Bild-URL extrahieren
Die URL jedes Buchs, die URL des Coverbilds, der Titel und der Autor werden extrahiert.
Die Funktion „clean_string“ stellt sicher, dass der Titel sauber formatiert ist. Sie können es oben im Skript definieren
Weitere Buchdetails extrahieren
Um weitere Details zum Buch wie Bewertungen, Rezensionen usw. zu erhalten, senden wir eine weitere Anfrage an book_url_formatted.
Hier gibt get_ratings_reviews den Bewertungs- und Rezensionstext gut formatiert zurück.
Sie können diese Funktion oben im Skript definieren.
Durch die Navigation zur Detailseite jedes Buchs werden zusätzliche Informationen wie Bewertungen, Rezensionen und detaillierte Beschreibungen extrahiert. Hier prüfen wir auch, ob das Buchbeschreibungselement vorhanden ist, andernfalls fügen wir eine Standardbeschreibung ein, damit das Skript nicht fehlschlägt.
Hier haben wir auch Autorendetails, Veröffentlichungsinformationen und andere Metadaten gesammelt.
Erstellen Sie ein Buchwörterbuch
Lassen Sie uns alle Daten, die wir für ein Buch extrahiert haben, in einem Wörterbuch speichern.
Wir werden dieses Wörterbuch verwenden, um die Daten in einer CSV-Datei hinzuzufügen.
Speichern von Daten in einer CSV-Datei
Wir werden das CSV-Modul verwenden, das Teil der Standardbibliothek von Python ist. Sie müssen es also nicht separat installieren.
Zuerst müssen wir prüfen, ob dies der erste Eintrag ist. Diese Prüfung ist erforderlich, um den Header in der CSV-Datei in der ersten Zeile hinzuzufügen.
Wir verwenden mode="w", wodurch eine neue CSV-Datei mit dem Header-Eintrag erstellt wird.
Jetzt hängen wir für alle weiteren Einträge die Daten an die CSV-Datei an:
mode="a" hängt die Daten an die CSV-Datei an.
Lehnen Sie sich jetzt zurück, entspannen Sie sich und genießen Sie eine Tasse Kaffee ☕️, während das Skript läuft.
Sobald es fertig ist, sehen die endgültigen Daten so aus:
Den vollständigen Quellcode finden Sie in diesem Github-Repository.
Zusammenfassung
Wir haben gelernt, wie man Goodreads-Daten mit Python und BeautifulSoup crawlt. Angefangen bei der Grundeinrichtung bis hin zum Speichern von Daten in einer CSV-Datei haben wir jeden Aspekt des Scraping-Prozesses untersucht. Die geschabten Daten können verwendet werden für:
- Datenvisualisierung (z. B. die beliebtesten Genres oder Autoren).
- Maschinelle Lernmodelle zur Vorhersage der Buchpopularität.
- Aufbau persönlicher Buchempfehlungssysteme.
Web Scraping eröffnet Möglichkeiten für kreative Datenanalysen und Anwendungen. Mit Bibliotheken wie BeautifulSoup werden selbst komplexe Scraping-Aufgaben bewältigbar. Denken Sie daran, beim Scrapen ethische Praktiken einzuhalten und die Nutzungsbedingungen der Website zu respektieren!
Das obige ist der detaillierte Inhalt vonSo extrahieren Sie Daten aus Goodreads mit Python und BeautifulSoup. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Dieses Tutorial zeigt, wie man Python verwendet, um das statistische Konzept des Zipf -Gesetzes zu verarbeiten, und zeigt die Effizienz des Lesens und Sortierens großer Textdateien von Python bei der Bearbeitung des Gesetzes. Möglicherweise fragen Sie sich, was der Begriff ZiPF -Verteilung bedeutet. Um diesen Begriff zu verstehen, müssen wir zunächst das Zipf -Gesetz definieren. Mach dir keine Sorgen, ich werde versuchen, die Anweisungen zu vereinfachen. Zipf -Gesetz Das Zipf -Gesetz bedeutet einfach: In einem großen natürlichen Sprachkorpus erscheinen die am häufigsten vorkommenden Wörter ungefähr doppelt so häufig wie die zweiten häufigen Wörter, dreimal wie die dritten häufigen Wörter, viermal wie die vierten häufigen Wörter und so weiter. Schauen wir uns ein Beispiel an. Wenn Sie sich den Brown Corpus in amerikanischem Englisch ansehen, werden Sie feststellen, dass das häufigste Wort "Th ist

In diesem Artikel wird erklärt, wie man schöne Suppe, eine Python -Bibliothek, verwendet, um HTML zu analysieren. Es beschreibt gemeinsame Methoden wie find (), find_all (), select () und get_text () für die Datenextraktion, die Behandlung verschiedener HTML -Strukturen und -Anternativen (SEL)

Der Umgang mit lauten Bildern ist ein häufiges Problem, insbesondere bei Mobiltelefonen oder mit geringen Auflösungskamera-Fotos. In diesem Tutorial wird die Bildfilterungstechniken in Python unter Verwendung von OpenCV untersucht, um dieses Problem anzugehen. Bildfilterung: Ein leistungsfähiges Werkzeug Bildfilter

Python, ein Favorit für Datenwissenschaft und Verarbeitung, bietet ein reichhaltiges Ökosystem für Hochleistungs-Computing. Die parallele Programmierung in Python stellt jedoch einzigartige Herausforderungen dar. Dieses Tutorial untersucht diese Herausforderungen und konzentriert sich auf die globale Interprete

Dieser Artikel vergleicht TensorFlow und Pytorch für Deep Learning. Es beschreibt die beteiligten Schritte: Datenvorbereitung, Modellbildung, Schulung, Bewertung und Bereitstellung. Wichtige Unterschiede zwischen den Frameworks, insbesondere bezüglich des rechnerischen Graps

Dieses Tutorial zeigt, dass eine benutzerdefinierte Pipeline -Datenstruktur in Python 3 erstellt wird, wobei Klassen und Bedienerüberladungen für verbesserte Funktionen genutzt werden. Die Flexibilität der Pipeline liegt in ihrer Fähigkeit, eine Reihe von Funktionen auf einen Datensatz GE anzuwenden

Serialisierung und Deserialisierung von Python-Objekten sind Schlüsselaspekte eines nicht trivialen Programms. Wenn Sie etwas in einer Python -Datei speichern, führen Sie eine Objektserialisierung und Deserialisierung durch, wenn Sie die Konfigurationsdatei lesen oder auf eine HTTP -Anforderung antworten. In gewisser Weise sind Serialisierung und Deserialisierung die langweiligsten Dinge der Welt. Wen kümmert sich um all diese Formate und Protokolle? Sie möchten einige Python -Objekte bestehen oder streamen und sie zu einem späteren Zeitpunkt vollständig abrufen. Dies ist eine großartige Möglichkeit, die Welt auf konzeptioneller Ebene zu sehen. Auf praktischer Ebene können das von Ihnen ausgewählte Serialisierungsschema, Format oder Protokoll jedoch die Geschwindigkeit, Sicherheit, den Status der Wartungsfreiheit und andere Aspekte des Programms bestimmen

Das Statistikmodul von Python bietet leistungsstarke Datenstatistikanalysefunktionen, mit denen wir die allgemeinen Merkmale von Daten wie Biostatistik und Geschäftsanalyse schnell verstehen können. Anstatt Datenpunkte nacheinander zu betrachten, schauen Sie sich nur Statistiken wie Mittelwert oder Varianz an, um Trends und Merkmale in den ursprünglichen Daten zu ermitteln, die möglicherweise ignoriert werden, und vergleichen Sie große Datensätze einfacher und effektiv. In diesem Tutorial wird erläutert, wie der Mittelwert berechnet und den Grad der Dispersion des Datensatzes gemessen wird. Sofern nicht anders angegeben, unterstützen alle Funktionen in diesem Modul die Berechnung der Mittelwert () -Funktion, anstatt einfach den Durchschnitt zu summieren. Es können auch schwimmende Punktzahlen verwendet werden. zufällig importieren Statistiken importieren Aus Fracti


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung
