Eine Anleitung zum Scraping von Büchern von der Website Books to Scrape, einschließlich Python-Beispielen und Datenexport.
Einleitung
In diesem Tutorial lernen wir, wie man die Website Books to Scrape mit Python und BeautifulSoup scrapt. Diese Seite dient oft als Beispiel für Web-Scraping, da sie eine einfache Struktur hat und keine komplexen Schutzmaßnahmen gegen Scraping implementiert.
Voraussetzungen
Stellen Sie sicher, dass Sie die folgenden Python-Bibliotheken installiert haben:
pip install requests beautifulsoup4 pandas
Scraping der Buchdaten
Schritt 1: HTML-Inhalt abrufen
Zuerst verwenden wir die requests-Bibliothek, um den HTML-Inhalt der Seite abzurufen.
import requests# URL der Websiteurl ="https://books.toscrape.com/"# HTML-Inhalt abrufenresponse = requests.get(url)# Überprüfen, ob die Anfrage erfolgreich warif response.status_code ==200:print("HTML-Inhalt erfolgreich abgerufen.")else:print(f"Fehler beim Abrufen der Seite: {response.status_code}")
HTML-Inhalt erfolgreich abgerufen.
Schritt 2: HTML mit BeautifulSoup parsen
Jetzt parsen wir den abgerufenen HTML-Inhalt mit BeautifulSoup.
from bs4 import BeautifulSoup# HTML-Inhalt parsensoup = BeautifulSoup(response.text, 'html.parser')# Überprüfen des Titels der Seiteprint(soup.title.string)
All products | Books to Scrape - Sandbox
Schritt 3: Daten extrahieren
Wir extrahieren nun die Titel und Preise der Bücher.
# Listen zur Speicherung der Datenbook_titles = []book_prices = []# Alle Buchcontainer findenbooks = soup.find_all('article', class_='product_pod')# Daten extrahierenfor book in books: title = book.h3.a['title'] # Titel des Buches price = book.find('p', class_='price_color').text # Preis des Buches book_titles.append(title) book_prices.append(price)# Daten anzeigenfor title, price inzip(book_titles, book_prices):print(f"{title}: {price}")
A Light in the Attic: £51.77
Tipping the Velvet: £53.74
Soumission: £50.10
Sharp Objects: £47.82
Sapiens: A Brief History of Humankind: £54.23
The Requiem Red: £22.65
The Dirty Little Secrets of Getting Your Dream Job: £33.34
The Coming Woman: A Novel Based on the Life of the Infamous Feminist, Victoria Woodhull: £17.93
The Boys in the Boat: Nine Americans and Their Epic Quest for Gold at the 1936 Berlin Olympics: £22.60
The Black Maria: £52.15
Starving Hearts (Triangular Trade Trilogy, #1): £13.99
Shakespeare's Sonnets: £20.66
Set Me Free: £17.46
Scott Pilgrim's Precious Little Life (Scott Pilgrim #1): £52.29
Rip it Up and Start Again: £35.02
Our Band Could Be Your Life: Scenes from the American Indie Underground, 1981-1991: £57.25
Olio: £23.88
Mesaerion: The Best Science Fiction Stories 1800-1849: £37.59
Libertarianism for Beginners: £51.33
It's Only the Himalayas: £45.17
Schritt 4: Daten in einem DataFrame speichern
Um die extrahierten Daten zu speichern, verwenden wir pandas, um sie in einem DataFrame zu organisieren.
Title Price
0 A Light in the Attic £51.77
1 Tipping the Velvet £53.74
2 Soumission £50.10
3 Sharp Objects £47.82
4 Sapiens: A Brief History of Humankind £54.23
Fazit
In diesem Tutorial haben wir gelernt, wie man die Website Books to Scrape mit Python und BeautifulSoup scrapt. Wir haben die Titel und Preise der Bücher extrahiert und in einem DataFrame gespeichert. Dieses Beispiel kann als Grundlage für komplexere Scraping-Projekte dienen.
---title: "Bücherkatalog scrapen"description: "Eine Anleitung zum Scraping von Büchern von der Website Books to Scrape, einschließlich Python-Beispielen und Datenexport."image: _be1bcdc2-f540-4a95-a27c-775e8f2c1c07.jpegformat: html: toc: true code-tools: truejupyter: python3---# EinleitungIn diesem Tutorial lernen wir, wie man die Website [Books to Scrape](https://books.toscrape.com/) mit Python und `BeautifulSoup` scrapt. Diese Seite dient oft als Beispiel für Web-Scraping, da sie eine einfache Struktur hat und keine komplexen Schutzmaßnahmen gegen Scraping implementiert.## VoraussetzungenStellen Sie sicher, dass Sie die folgenden Python-Bibliotheken installiert haben:```bashpip install requests beautifulsoup4 pandas```# Scraping der Buchdaten## Schritt 1: HTML-Inhalt abrufenZuerst verwenden wir die `requests`-Bibliothek, um den HTML-Inhalt der Seite abzurufen.```{python}import requests# URL der Websiteurl ="https://books.toscrape.com/"# HTML-Inhalt abrufenresponse = requests.get(url)# Überprüfen, ob die Anfrage erfolgreich warif response.status_code ==200:print("HTML-Inhalt erfolgreich abgerufen.")else:print(f"Fehler beim Abrufen der Seite: {response.status_code}")```## Schritt 2: HTML mit BeautifulSoup parsenJetzt parsen wir den abgerufenen HTML-Inhalt mit `BeautifulSoup`.```{python}from bs4 import BeautifulSoup# HTML-Inhalt parsensoup = BeautifulSoup(response.text, 'html.parser')# Überprüfen des Titels der Seiteprint(soup.title.string)```## Schritt 3: Daten extrahierenWir extrahieren nun die Titel und Preise der Bücher.```{python}# Listen zur Speicherung der Datenbook_titles = []book_prices = []# Alle Buchcontainer findenbooks = soup.find_all('article', class_='product_pod')# Daten extrahierenfor book in books: title = book.h3.a['title'] # Titel des Buches price = book.find('p', class_='price_color').text # Preis des Buches book_titles.append(title) book_prices.append(price)# Daten anzeigenfor title, price inzip(book_titles, book_prices):print(f"{title}: {price}")```## Schritt 4: Daten in einem DataFrame speichernUm die extrahierten Daten zu speichern, verwenden wir `pandas`, um sie in einem DataFrame zu organisieren.```{python}import pandas as pd# DataFrame erstellenbooks_df = pd.DataFrame({'Title': book_titles,'Price': book_prices})# DataFrame anzeigenprint(books_df.head())```# FazitIn diesem Tutorial haben wir gelernt, wie man die Website [Books to Scrape](https://books.toscrape.com/) mit Python und `BeautifulSoup` scrapt. Wir haben die Titel und Preise der Bücher extrahiert und in einem DataFrame gespeichert. Dieses Beispiel kann als Grundlage für komplexere Scraping-Projekte dienen.