Web Scraping ist eine leistungsstarke Methode zum Extrahieren von Daten aus Websites. Die Umwandlung von unübersichtlichem HTML in saubere, strukturierte Informationen stellt jedoch eine große Herausforderung dar. Hier kommt Perplexity AI ins Spiel. Mit KI extrahieren Sie Daten schneller und präziser.

In diesem Blog zeigen wir Ihnen, wie Sie Perplexity AI für Web Scraping in Python nutzen. Sie lernen, wie Sie HTML-Inhalte abrufen, sie für bessere Lesbarkeit in Markdown konvertieren und mithilfe von KI die benötigten Daten extrahieren. Wir zeigen Ihnen außerdem, wie Crawlbase Smart Proxy Hilft Ihnen, Blockaden und Captchas beim Scraping geschützter Websites zu vermeiden. Melden Sie sich jetzt an und erhalten Sie 5,000 Gratis-Credits.

Dieses Blog richtet sich an Entwickler, Analysten und alle, die das Web intelligenter durchsuchen möchten.

📚 Inhaltsverzeichnis

  1. Warum Perplexity AI für Web Scraping verwenden?
  2. Einrichten Ihrer Python-Umgebung
  1. Schritt-für-Schritt-Anleitung zur Verwendung von Perplexity AI für Web Scraping
  1. Herausforderungen und Grenzen der Perplexity AI beim Web Scraping
  2. Vermeiden Sie Blockaden: Verwenden Sie Crawlbase Smart Proxy
  3. Abschließende Überlegungen
  4. Häufig gestellte Fragen

Warum Perplexity AI für Web Scraping verwenden?

Traditionelles Web Scraping nutzt Python-Bibliotheken wie Requests und BeautifulSoup, um Daten aus dem HTML einer Website zu extrahieren. Funktioniert gut für einfache Websites, wird aber bei unübersichtlichem oder komplexem HTML schwierig.

Hier kommt Perplexity AI ins Spiel.

Perplexity AI ist ein intelligentes Tool, das natürliche Sprache versteht und strukturierte Daten in HTML-Rohinhalten findet. In Kombination mit Web Scraping lassen sich einfacher saubere, hilfreiche und strukturierte Daten extrahieren.

Vorteile von Perplexity AI für Scraping:

  • Extrahieren Sie Daten aus komplexen Webseiten
  • Reduziert den Zeitaufwand für das Schreiben benutzerdefinierter Analyselogik
  • Funktioniert mit Markdown-formatiertem HTML, wodurch die Datenextraktion genauer wird
  • Gibt strukturierte Ausgabe wie JSON zurück

Durch die Verwendung von Perplexity AI für das Web Scraping in Python scrapen Sie schneller, intelligenter und effizienter.

Einrichten Ihrer Python-Umgebung

Bevor wir Perplexity AI für Web Scraping verwenden, müssen wir unsere Python-Umgebung vorbereiten. Dieses Setup stellt einen reibungslosen Ablauf sicher und hilft, spätere Fehler zu vermeiden.

Installieren Sie Python

Falls Sie es noch nicht getan haben, installieren Sie Python vom offiziellen Website. Python ist die primäre Sprache, die wir zum Senden von Anfragen, Verarbeiten von Webdaten und zur Kommunikation mit der Perplexity-API verwenden.

Erstellen Sie eine virtuelle Umgebung

Eine virtuelle Umgebung hält Ihre Projektabhängigkeiten organisiert und vermeidet Konflikte mit anderen Python-Projekten.

Öffnen Sie Ihr Terminal oder Ihre Eingabeaufforderung und führen Sie Folgendes aus:

1
python -m venv perplexity_env

Aktivieren Sie dann die Umgebung:

  • Windows:
1
perplexity_env\Scripts\activate
  • macOS/Linux:
1
Quelle perplexity_env/bin/activate

Erforderliche Bibliotheken installieren

Installieren wir nun die benötigten Python-Pakete:

1
pip install beautifulsoup4 markdownify openai requests
  • beautifulsoup4: zum Parsen von HTML
  • markdownify: um HTML in Markdown zu konvertieren
  • openai: zur Verbindung mit der Perplexity-API (verwendet OpenAI-kompatibles Format)
  • requests: zum Senden von HTTP-Anfragen

Perplexity-API-Zugriff einrichten

Um Perplexity für Web Scraping zu verwenden, benötigen Sie einen API-Schlüssel. Perplexity bietet eine OpenAI-kompatible API, sodass Sie dasselbe Codeformat wie die GPT-Modelle von OpenAI verwenden können.

So richten Sie es ein:

  1. Holen Sie sich Ihren API-Schlüssel von Ihrem Perplexity-Konto-Dashboard.
  2. Legen Sie Ihren API-Schlüssel in Ihrem Code fest so was:
1
2
3
4
5
6
von öffnen importieren OpenAI

Kunde = OpenAI(
API-Schlüssel =" ",
base_url="https://api.perplexity.ai"
)

Stellen Sie sicher, dass Sie Ihren API-Schlüssel sicher aufbewahren und ihn niemals öffentlich im Code weitergeben.

Schritt-für-Schritt-Anleitung zur Verwendung von Perplexity AI für Web Scraping

In diesem Abschnitt zeigen wir Ihnen, wie Sie mit Perplexity AI einen Python-Web-Scraper erstellen. Sie lernen, wie Sie eine Webseite scrapen, den Inhalt bereinigen, in Markdown konvertieren und die Daten mit Perplexity AI extrahieren. Wir verwenden BeautifulSoup, um nur den benötigten Teil der Seite auszuwählen und so zusätzliches HTML zu vermeiden, das durch die Verwendung weiterer Token die Kosten erhöhen könnte.

Wir verwenden die folgende URL als Beispiel:

1
https://www.amazon.com/Art-War-DELUXE-Sun-Tzu/dp/9388369696/ref=sr_1_1

Senden von Anfragen und Analysieren von HTML

Zunächst senden wir eine HTTP-Anfrage an die Zielwebsite und rufen deren HTML-Inhalt ab. Speichern Sie den folgenden Python-Code in einer Datei namens crawl.py:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
von Anfragen.Ausnahmen importieren RequestException
von urllib3.exceptions importieren Unsichere Anfragewarnung
importieren Zugriffe

# Unterdrücken Sie nur die einzige erforderliche Warnung von urllib3.
requests.packages.urllib3.disable_warnings(Kategorie=UnsichereAnforderungswarnung)

HEADERS = {
'akzeptieren': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
'Benutzeragent': „Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/137.0.0.0 Safari/537.36“
}

def kriechen(URL) -> str:
versuchen:
Antwort = Anfragen.get(
url,
headers=HEADERS,
verifizieren=falsch,
Auszeit=30
)
Response.raise_for_status()

Rückkehr Antworttext

ausgeschlossen RequestException as Fehler:
drucken(f"\nFehler beim Crawlen der URL '{URL}': {Fehler}\N")
erhöhen

if __name__ == "__hauptsächlich__":

html_content = crawl("https://www.amazon.com/Art-War-DELUXE-Sun-Tzu/dp/9388369696/ref=sr_1_1")
mit XNUMXh geöffnet('ausgabe.html', 'w', Kodierung='utf-8') as Datei:
datei.schreiben(html_inhalt)

Führen Sie das Skript mit dem folgenden Befehl aus:

1
Python crawl.py

Bei der Ausführung wird eine Ausgabedatei mit dem Namen generiert output.html.

Ausgabe des Amazon-Buchseitenbrowsers

Hinweis:
Manchmal kann der folgende Fehler auftreten, weil Amazon automatisierte Anfragen blockiert:

1
HTML konnte nicht in Markdown analysiert werden: 'KeinTyp' Objekt hat kein Attribut 'Text'

In diesem Fall kann beim Öffnen von output.html im Browser ein unerwartetes oder leeres Ergebnis angezeigt werden, wie unten dargestellt:

Ausgabe des Amazon-Buchseitenbrowsers

Dies ist ein häufiges Problem bei Websites mit Bot-Schutz. Um das Problem zu beheben, können Sie HTTP-Header verwenden, die einen echten Browser nachahmen, oder erweiterte Lösungen wie Crawlbase Smart Proxy, worauf später eingegangen wird.

Konvertieren Sie HTML in Markdown für die KI-Verarbeitung

Perplexity AI arbeitet besser, wenn wir sauberen, vereinfachten Text anstelle von reinem HTML senden. Um dies zu erreichen, verwenden wir die markdownify Bibliothek zum Konvertieren von HTML in Markdown. Durch das Senden nur des relevanten Abschnitts wird die Token-Nutzung reduziert und die Qualität der KI-Antworten verbessert.

Wir werden den HTML-Inhalt mit BeautifulSoup analysieren. Speichern Sie den folgenden Code in einer Datei namens parse.py:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
von kriechen importieren kriechen
von bs4 importieren BeautifulSuppe
von Markdownify - Deutsch Übersetzung importieren Markdownify - Deutsch Übersetzung as md

def HTML in Markdown-Format parsen(HTML-Inhalt) -> str:
versuchen:
Suppe = Schöne Suppe (HTML-Inhalt, "html.parser")
Element = Suppe.find(id='centerCol')

Rückkehr md(str(element.text))
ausgeschlossen Exception as Fehler:
drucken(f"\nHTML konnte nicht in Markdown analysiert werden: {Fehler}\N")
erhöhen

if __name__ == "__hauptsächlich__":

html_content = crawl("https://www.amazon.com/Art-War-DELUXE-Sun-Tzu/dp/9388369696/ref=sr_1_1")

Markdown-Inhalt = HTML in Markdown-Format parsen (HTML-Inhalt)
mit XNUMXh geöffnet('Ausgabe.md', 'w', Kodierung='utf-8') as Datei:
file.write(markdown_content)

Führen Sie nun das Skript mit dem folgenden Befehl aus:

1
Python parse.py

Dadurch wird eine Ausgabedatei mit dem Namen generiert output.md. Wenn es mit einer Markdown-Vorschau angezeigt wird, sieht es wie folgt aus:

Ausgabe des Amazon-Buchseitenbrowsers

Das saubere Markdown-Format erleichtert Tools wie Perplexity AI die effektive Verarbeitung des Inhalts und ermöglicht es ihnen, sich auf die relevantesten Informationen zu konzentrieren.

Formatieren von KI-Eingabeaufforderungen

Um mit Perplexity AI optimale Ergebnisse zu erzielen, geben Sie klare Anweisungen (Eingabeaufforderungen). Diese Eingabeaufforderungen helfen der KI zu verstehen, was Sie extrahieren möchten.

Hier ist eine Beispielaufforderung:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Eingabeaufforderung = [
{
"Rolle": "System",
"Inhalt": „Sie sind ein hilfreicher Assistent, der eine Amazon-Produktbuchseite zusammenfasst.“
},
{
"Rolle": "Nutzer",
"Inhalt": (
"Extrahieren Sie die folgenden Details aus dem Markdown:\n"
"- 1 Satz Zusammenfassung\n"
"- Suche im Internet nach empfohlener Lektüre\n"
"- Preise\n\n"
f"Markdown:\n{markdown_content}\n\n"
„Antworten Sie nur mit extrahierten Daten im JSON-Format.“
),
},
]

Diese Eingabeaufforderung weist die KI genau an, was aus dem Inhalt extrahiert werden soll.

Zur Analyse an KI weiterleiten

Senden wir nun diese Eingabeaufforderung mithilfe der OpenAI-kompatiblen API an Perplexity AI:

Speichern in perplexity_ai_powered_scraper.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
von kriechen importieren kriechen
von parsen importieren HTML in Markdown-Format parsen
von öffnen importieren OpenAI
importieren JSON

URL = "https://www.amazon.com/Art-War-DELUXE-Sun-Tzu/dp/9388369696/ref=sr_1_1"

html_content = crawl(URL)
Markdown-Inhalt = HTML in Markdown-Format parsen (HTML-Inhalt)

Eingabeaufforderung = [
{
"Rolle": "System",
"Inhalt": „Sie sind ein hilfreicher Assistent, der eine Amazon-Produktbuchseite zusammenfasst.“
},
{
"Rolle": "Nutzer",
"Inhalt": (
"Extrahieren Sie die folgenden Details aus dem Markdown:\n"
"- 1 Satz Zusammenfassung\n"
"- Suche im Internet nach empfohlener Lektüre\n"
"- Preise\n\n"
f"Markdown:\n{markdown_content}\n\n"
„Antworten Sie nur mit extrahierten Daten im JSON-Format.“
),
},
]

Client = OpenAI(API-Schlüssel=" ", Basis-URL="https://api.perplexity.ai")

# Anfrage zum Chatabschluss senden
Antwort = Client.Chat.Completions.create(
Modell ="Sonar-Pro",
Nachrichten=Eingabeaufforderung,
)

# Exportieren Sie das Ergebnis im JSON-Format
scraped_data = json.loads(response.choices[0].message.content)

drucken(json.dumps(scraped_data, Einzug=2))

Stellen Sie sicher, zu ersetzen <perplexity.ai API KEY> mit dem API-Schlüssel von vorhin und führen Sie den Code mit dem folgenden Befehl aus.

1
Python perplexity_ai_powered_scraper.py

Dadurch wird ein JSON-Text ausgegeben:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"1_Satz_Zusammenfassung": „Die Kunst des Krieges ist eine alte chinesische Militärabhandlung von Sun Tzu, die strategische Planung, das Verständnis von sich selbst und dem Feind sowie die Verwendung anpassungsfähiger Taktiken betont, um in Konflikten und darüber hinaus den Sieg zu erringen[1][3][4].“,
"Lektüre-Empfehlungen": [
„Vom Kriege von Carl von Clausewitz“,
„Das Buch der Fünf Ringe von Miyamoto Musashi“,
„Führung und Strategie von Sun Tzu und anderen Meistern von William A. Cohen“,
„Die 33 Strategien des Krieges von Robert Greene“,
„Der Fürst von Niccolò Machiavelli“
],
"Preise": [
{
"Format": "Gebundene Ausgabe (Deluxe-Hardcover)",
"Preis": "$ 15.80"
}
]
}

Den vollständigen Quellcode finden Sie auf GitHub.

Herausforderungen und Grenzen der Perplexity AI beim Web Scraping

Perplexity AI bietet zwar leistungsstarke Funktionen für das Web Scraping, bringt aber auch einige Herausforderungen mit sich:

Bilder, die die Herausforderungen und Grenzen von Perplexity AI beim Web Scraping zeigen

Wenn Sie diese Einschränkungen verstehen, können Sie die Vorteile von Perplexity AI für das Web Scraping maximieren und gleichzeitig potenzielle Probleme minimieren.

Vermeiden Sie Blockaden: Verwenden Sie Crawlbase Smart Proxy

Beim Scraping mit Perplexity AI blockieren Websites häufig Bots, was den Datenabruf erschwert. Crawlbase Smart Proxy löst dieses Problem durch die Rotation von IP-Adressen und die Umgehung von CAPTCHAs, sodass Sie Websites scrapen können, ohne blockiert zu werden.

Warum verwenden Crawlbase Smart Proxy mit Perplexity AI?

  1. IP-Sperren umgehen: Rotiert IP-Adressen, um eine Erkennung zu vermeiden.
  2. CAPTCHAs lösen: Behandelt CAPTCHAs automatisch, sodass Sie dies nicht tun müssen.
  3. Sparen Sie Zeit: Keine Notwendigkeit, Proxy-Server zu verwalten—Crawlbase macht das alles.
  4. Bereinigen Sie HTML: Gibt gebrauchsfertiges HTML für Perplexity AI zurück.

Beispielcode:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
von bs4 importieren BeautifulSuppe
von Markdownify - Deutsch Übersetzung importieren Markdownify - Deutsch Übersetzung as md
von Anfragen.Ausnahmen importieren RequestException
von urllib3.exceptions importieren Unsichere Anfragewarnung
importieren Zugriffe

# Unterdrücken Sie nur die einzige erforderliche Warnung von urllib3.
requests.packages.urllib3.disable_warnings(Kategorie=UnsichereAnforderungswarnung)

HEADERS = {
'akzeptieren': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
'Benutzeragent': „Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/137.0.0.0 Safari/537.36“
}

def crawl_mit_smart_proxy(URL) -> str:
Proxy-URL = "http:// :@smartproxy.crawlbase.com:8012" # Verwenden Sie https:// und Port 8013 für HTTPS
Proxys = {
"http": Proxy-URL,
"https": Proxy-URL
}

versuchen:
Antwort = Anfragen.get(
url,
headers=HEADERS,
Proxys = Proxys,
verifizieren=falsch,
Auszeit=30
)
Response.raise_for_status()

Rückkehr Antworttext

ausgeschlossen RequestException as Fehler:
drucken(f"\nFehler beim Crawlen der URL '{URL}': {Fehler}\N")
erhöhen

Bei Crawlbase Smart Proxykönnen Sie Websites sicher scrapen, Sperren umgehen und saubere Daten zur Verarbeitung mit Perplexity AI erhalten.

Abschließende Überlegungen

Der Einsatz von Perplexity AI für Web Scraping in Python verbessert Ihre Scraping-Aufgaben, indem er sie schneller, intelligenter und präziser macht. Durch die Konvertierung von reinem HTML in Markdown und die Nutzung von KI zum Extrahieren strukturierter Daten können Sie Ihren Prozess optimieren und Zeit sparen.

Das Scraping von Websites kann jedoch eine Herausforderung sein, insbesondere wenn es zu Blockaden und CAPTCHAs kommt. Hier Crawlbase Smart Proxy kommt ins Spiel. Es hilft Ihnen, IP-Sperren zu vermeiden und löst CAPTCHAs, sodass Sie Websites ohne Unterbrechungen durchsuchen können. Diese Kombination aus Perplexity AI und Crawlbase Smart Proxy macht Web Scraping effizienter und skalierbarer und ermöglicht Ihnen den Zugriff auf die benötigten Daten, ohne blockiert zu werden.

Häufig gestellte Fragen

F: Was ist Perplexity AI und wie hilft es beim Web Scraping?

Perplexity AI ist ein Tool, das natürliche Sprachverarbeitung nutzt, um strukturierte Daten aus HTML-Rohinhalten zu extrahieren. Es vereinfacht das Scraping, indem es unübersichtliches HTML in lesbares Markdown konvertiert und wichtige Details mithilfe von KI extrahiert. Das spart Zeit und verbessert die Genauigkeit der Datenextraktion.

Frage: Wie geht das? Crawlbase Smart Proxy verhindern, dass mein Schaber verstopft?

Crawlbase Smart Proxy Rotiert IP-Adressen und löst CAPTCHAs, sodass es so aussieht, als würde ein echter Benutzer die Website durchsuchen. Es hilft, IP-Sperren zu vermeiden und ermöglicht Ihnen das Scraping von Websites, ohne als Bot erkannt zu werden. Ein zuverlässiges Tool für Ihre Scraping-Aufgaben.

F: Kann ich Perplexity AI verwenden und Crawlbase Smart Proxy zusammen?

Ja! Perplexity AI zur Datenextraktion und Crawlbase Smart Proxy zum Umgehen von Blöcken und CAPTCHAs ist eine Killerkombination. Crawlbase ermöglicht einen nahtlosen Zugriff auf die Website und Perplexity AI erleichtert die Bereinigung und Verarbeitung von Daten.