! pip install requests beautifulsoup4 pandasBü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
url = "https://books.toscrape.com/"
# HTML-Inhalt abrufen
response = requests.get(url)
# Ü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
soup = BeautifulSoup(response.text, 'html.parser')
# Ü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
books = soup.find_all('article', class_='product_pod')
# Daten extrahieren
for 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 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
books_df = pd.DataFrame({
'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.