! pip install requests beautifulsoup4 pandas
Bücherkatalog scrapen
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:
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 Website
= "https://books.toscrape.com/"
url
# HTML-Inhalt abrufen
= requests.get(url)
response
# Überprüfen, ob die Anfrage erfolgreich war
if 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 parsen
Jetzt parsen wir den abgerufenen HTML-Inhalt mit BeautifulSoup
.
from bs4 import BeautifulSoup
# HTML-Inhalt parsen
= BeautifulSoup(response.text, 'html.parser')
soup
# Überprüfen des Titels der Seite
print(soup.title.string)
Schritt 3: Daten extrahieren
Wir extrahieren nun die Titel und Preise der Bücher.
# Listen zur Speicherung der Daten
= []
book_titles = []
book_prices
# Alle Buchcontainer finden
= soup.find_all('article', class_='product_pod')
books
# Daten extrahieren
for book in books:
= book.h3.a['title'] # Titel des Buches
title = book.find('p', class_='price_color').text # Preis des Buches
price
book_titles.append(title)
book_prices.append(price)
# Daten anzeigen
for title, price in zip(book_titles, book_prices):
print(f"{title}: {price}")
Schritt 4: Daten in einem DataFrame speichern
Um die extrahierten Daten zu speichern, verwenden wir pandas
, um sie in einem DataFrame zu organisieren.
import pandas as pd
# DataFrame erstellen
= pd.DataFrame({
books_df 'Title': book_titles,
'Price': book_prices
})
# DataFrame anzeigen
print(books_df.head())
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.