bsenst's picture
remove boilerplate add examples
bacabb7
raw
history blame
2.91 kB
---
title: "Web Scraping mit Python: Bücher von Books to Scrape"
author: "Dein Name"
format:
html:
toc: true
code-tools: true
jupyter: python3
---
# Einleitung
In 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.
## Voraussetzungen
Stellen Sie sicher, dass Sie die folgenden Python-Bibliotheken installiert haben:
```bash
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.
```{python}
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`.
```{python}
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.
```{python}
# 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.
```{python}
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](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.
# Weiterführende Ressourcen
- [BeautifulSoup-Dokumentation](https://www.crummy.com/software/BeautifulSoup/bs4/doc/)
- [Requests-Dokumentation](https://docs.python-requests.org/en/latest/)
- [Pandas-Dokumentation](https://pandas.pydata.org/docs/)