Blog / AI
AI

Web Scraping mit LlamaIndex und Bright Data

Entdecken Sie, wie Sie mit LlamaIndex und Bright Data Tools in Python Webseiten scrapen, Screenshots erstellen, Google-Suchen durchführen und Datenfeeds automatisieren können.
9 min lesen
LlamaIndex & Bright Data Web Scraping

In diesem Leitfaden werden wir LlamaIndex verwenden, um mit den Bright Data-Tools Daten zu extrahieren. Wenn Sie mit diesem Lernprogramm fertig sind, können Sie die folgenden Schritte durchführen.

  • Website-Daten als Markdown extrahieren
  • Bildschirmfotos von Webseiten erstellen
  • Führen Sie Google-Suchen aus Ihrer Anwendung heraus durch
  • Auslösen von Sammlungen nach Bedarf mithilfe von Dateneinspeisungen und der Web Scraper API von Bright Data

Einführung: Was ist LlamaIndex?

Vor dem Zeitalter der KI war die Datenerfassung ein spröder und wartungsintensiver Prozess. Eine einzige Änderung am Layout der Website konnte Ihre gesamte Pipeline zerstören. In der heutigen Zeit ist das nicht mehr der Fall – vorausgesetzt, Sie verwenden die richtigen Tools.

LlamaIndex verbindet Sprachmodelle mit externen Werkzeugen und Datenquellen. Es wird mit Minimalmodellen geliefert, die für eine minimale Zusammenarbeit mit diesen Toolsets ausgelegt sind. In unserem Fall kann LlamaIndex insbesondere mit dem MCP-Server von Bright Data integriert werden.

In den nächsten Abschnitten werden wir die Möglichkeiten des Bright Data-Toolsets von LlamaIndex kennenlernen. Stellen Sie sicher, dass Sie Python installiert haben.

Voraussetzungen

Unsere Anforderungen sind hier erstaunlich gering. Für einfache Scraping-Vorgänge brauchen wir nicht einmal einen LLM. Sie benötigen LlamaIndex und einen Bright Data-API-Schlüssel – das ist alles!

LlamaIndex

LlamaIndex bietet eine ganze Reihe von Tools, die Sie mit dem folgenden Befehl installieren können. Wenn Sie nur das Web scrapen wollen, ist dies nicht unbedingt erforderlich.

pip install llama-index

Sie können ihre Bright Data Tools mit dem folgenden Befehl über pip installieren.

pip install llama-index-tools-brightdata

Helle Daten

Zunächst benötigen Sie ein Konto bei Bright Data. Sie können diesen Link verwenden, um sich für eine kostenlose Testversion von Unlocker zu registrieren. Sobald Sie ein Konto eingerichtet haben, speichern Sie Ihren API-Schlüssel.

Sie finden Ihren API-Schlüssel in Ihrem Bright Data-Dashboard “Proxies” oder in Ihren Benutzereinstellungen.

Finden Sie Ihren API-Schlüssel

Scraping mit LlamaIndex

BrightDataToolSpec: Ihre Brücke zu Bright Data MCP

Mit LlamaIndex erhalten wir Zugriff auf die Klasse BrightDataToolSpec. Mit dem folgenden Ausschnitt wird der Zugriff auf alle Tools eingerichtet. Denken Sie daran, den API-Schlüssel durch Ihren eigenen und den Zonennamen durch eine Ihrer persönlichen Zonen zu ersetzen.

from llama_index.tools.brightdata import BrightDataToolSpec

brightdata = BrightDataToolSpec(
    api_key="your-api-key",
    zone="your-zone-name")

Scrapen als Markdown

Das folgende Snippet ermöglicht es Ihnen, eine beliebige Seite zu scrapen und ihren Inhalt als Markdown zurückzugeben. Die Methode scrape_as_markdown() erledigt das alles für uns.

from llama_index.tools.brightdata import BrightDataToolSpec

brightdata = BrightDataToolSpec(
    api_key="your-api-key",
    zone="your-zone-name")
result = brightdata.scrape_as_markdown(url="https://www.amazon.com")
print(result.text)

Hier ist ein Beispiel für die Ausgabe des Befehls. Wie Sie sehen können, werden die Amazon-Daten erfolgreich ausgelesen und in Markdown konvertiert.

![](https://m.media-amazon.com/images/G/01/gno/sprites/nav-sprite-global-1x-reorg-privacy._CB546805360_.png) 

## Skip to

* [ Main content](#skippedLink)

---

##  Keyboard shortcuts

* Search  
alt + /
* Cart  
shift + alt + C
* Home  
shift + alt + H
* Orders  
shift + alt + O
* Show/Hide shortcuts  
shift + alt + Z

To move between items, use your keyboard's up or down arrows. 

[ .us ](/ref=nav%5Flogo) 

 Delivering to Bothell 98011  Update location 

All 

Select the department you want to search in All Departments Alexa Skills All The Best Pets Amazon Autos Amazon Devices Amazon Fresh Amazon Global Store Amazon Haul Amazon One Medical Amazon Pharmacy Amazon Resale Appliances Apps & Games Arts, Crafts & Sewing Audible Books & Originals Automotive Parts & Accessories Baby Beauty & Personal Care Books CDs & Vinyl Cell Phones & Accessories Clothing, Shoes & Jewelry Women's Clothing, Shoes & Jewelry Men's Clothing, Shoes & Jewelry Girl's Clothing, Shoes & Jewelry Boy's Clothing, Shoes & Jewelry Baby Clothing, Shoes & Jewelry Collectibles & Fine Art Computers Credit and Payment Cards Digital Music Electronics Garden & Outdoor Gift Cards Grocery & Gourmet Food Handmade Health, Household & Baby Care Home & Business Services Home & Kitchen Industrial & Scientific Just for Prime Kindle Store Luggage & Travel Gear Luxury Stores Magazine Subscriptions Metropolitan Market Movies & TV Musical Instruments Office Products Pet Supplies Premium Beauty Prime Video Same-Day Store Smart Home Software Sports & Outdoors Subscribe & Save Subscription Boxes Tools & Home Improvement Toys & Games Under $10 Video Games Whole Foods Market 

Search Amazon 

[ EN ](/customer-preferences/edit?ie=UTF8&preferencesReturnUrl=%2F&ref%5F=topnav%5Flang) 

[ Hello, sign in Account & Lists ](https://www.amazon.com/ap/signin?openid.pape.max%5Fauth%5Fage=0&openid.return%5Fto=https%3A%2F%2Fwww.amazon.com%2F%3F%5Fencoding%3DUTF8%26ref%5F%3Dnav%5Fya%5Fsignin&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier%5Fselect&openid.assoc%5Fhandle=usflex&openid.mode=checkid%5Fsetup&openid.claimed%5Fid=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier%5Fselect&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0) 

[ Returns & Orders ](/gp/css/order-history?ref%5F=nav%5Forders%5Ffirst) [ 0  Cart ](/gp/cart/view.html?ref%5F=nav%5Fcart) 

[ All ](/gp/site-directory?ref%5F=nav%5Fem%5Fjs%5Fdisabled) 

* [Amazon Haul](/haul/store?ref%5F=nav%5Fcs%5Fhul%5Fdisb)
* [Medical Care ](https://health.amazon.com/prime?ref%5F=nav%5Fcs%5Fall%5Fhealth%5Fingress%5Fonem%5Fh)
* [Saks](/luxurystores/saks?ref%5F=nav%5Fcs%5Fsaks%5Fdisc)
* [Best Sellers](/gp/bestsellers/?ref%5F=nav%5Fcs%5Fbestsellers)
* [Amazon Basics](/Amazon%5FBasics?channel=discovbar&field-lbr%5Fbrands%5Fbrowse-bin=AmazonBasics&ref%5F=nav%5Fcs%5Famazonbasics)
* [New Releases](/gp/new-releases/?ref%5F=nav%5Fcs%5Fnewreleases)
* [Registry](/gp/browse.html?node=16115931011&ref%5F=nav%5Fcs%5Fregistry)
* [Groceries ](/fmc/learn-more?ref%5F=nav%5Fcs%5Fgroceries)
* [Today's Deals](/deals?ref%5F=nav%5Fcs%5Fgb)
* [Gift Cards ](/gift-cards/b/?ie=UTF8&node=2238192011&ref%5F=nav%5Fcs%5Fgc)
* [Smart Home](/Smart-Home/b/?ie=UTF8&node=6563140011&ref%5F=nav%5Fcs%5Fsmart%5Fhome)
* [Music](/music/player?ref%5F=nav%5Fcs%5Fmusic)
* [Prime ](/prime?ref%5F=nav%5Fcs%5Fprimelink%5Fnonmember)
* [Customer Service](/gp/help/customer/display.html?nodeId=508510&ref%5F=nav%5Fcs%5Ffs%5Fhub%5Fnavbar%5Fc)
* [Books](/books-used-books-textbooks/b/?ie=UTF8&node=283155&ref%5F=nav%5Fcs%5Fbooks)
* [Pharmacy](https://pharmacy.amazon.com/?nodl=0&ref%5F=nav%5Fcs%5Fpharmacy)
* [Luxury Stores](/luxurystores?ref%5F=nav%5Fcs%5Fluxury)
* [Amazon Home](/home-garden-kitchen-furniture-bedding/b/?ie=UTF8&node=1055398&ref%5F=nav%5Fcs%5Fhome)
* [Fashion](/amazon-fashion/b/?ie=UTF8&node=7141123011&ref%5F=nav%5Fcs%5Ffashion)
* [Toys & Games](/toys/b/?ie=UTF8&node=165793011&ref%5F=nav%5Fcs%5Ftoys)
* [Beauty & Personal Care](/Beauty-Makeup-Skin-Hair-Products/b/?ie=UTF8&node=3760911&ref%5F=nav%5Fcs%5Fbeauty)
* [Sell](/b/?%5Fencoding=UTF8&ld=AZUSSOA-sell&node=12766669011&ref%5F=nav%5Fcs%5Fsell)
* [Gift Shop](/gcx/Gifts-for-Everyone/gfhz/?ref%5F=nav%5Fcs%5Fgiftfinder)
* [Automotive](/automotive-auto-truck-replacements-parts/b/?ie=UTF8&node=15684181&ref%5F=nav%5Fcs%5Fautomotive)
* [Home Improvement](/Tools-and-Home-Improvement/b/?ie=UTF8&node=228013&ref%5F=nav%5Fcs%5Fhi)
* [Computers](/computer-pc-hardware-accessories-add-ons/b/?ie=UTF8&node=541966&ref%5F=nav%5Fcs%5Fpc)
* [Sports & Outdoors](/sports-outdoors/b/?ie=UTF8&node=3375251&ref%5F=nav%5Fcs%5Fsports)

[Prime Day is July 8-11](/primeday/?%5Fencoding=UTF8&ref%5F=nav%5Fswm%5FUS%5FPD25%5FLU%5FGW%5FSWM%5FAnnounce&pf%5Frd%5Fp=72020f4f-d636-4d60-9e39-399532eba237&pf%5Frd%5Fs=nav-sitewide-msg-text&pf%5Frd%5Ft=4201&pf%5Frd%5Fi=navbar-4201&pf%5Frd%5Fm=ATVPDKIKX0DER&pf%5Frd%5Fr=JA1EM1AGN54HEE871RFM) 

Erstellen von Screenshots

Screenshots sind ein weiteres hervorragendes Hilfsmittel beim Scrapen des Internets. Die meisten modernen LLMs können Bilder anzeigen und interpretieren. Im folgenden Ausschnitt nehmen wir einen Screenshot der Seite mit der Methode get_screenshot() auf.

from llama_index.tools.brightdata import BrightDataToolSpec

brightdata = BrightDataToolSpec(
    api_key="your-api-key",
    zone="your-zone-name")
result = brightdata.get_screenshot(url="https://example.com", output_path="my-screenshot.png")

Der folgende Screenshot stammt von BrightDataToolSpec. Dies ist vielleicht die einfachste Screenshot-Methode in ganz Python.

Screenshot von example.com

Suchmaschine

Wie die vorangegangenen Tools rufen wir die Suchmaschine mit einer einfachen Methode search_engine() auf. Standardmäßig wird Google verwendet, aber Sie können jede beliebige Suchmaschine verwenden. Mehr über unsere SERP-Abfrageparameter erfahren Sie hier.

Die folgenden Suchmaschinen sind verfügbar.

  • Google
  • Bing
  • Yandex
  • DuckDuckGo
from llama_index.tools.brightdata import BrightDataToolSpec

brightdata = BrightDataToolSpec(
    api_key="your-api-key",
    zone="mcp_unlocker")
result = brightdata.search_engine(
    query="Top News Articles"
)

with open("output.json", "w") as file:
    json.dump(json.loads(result.json()), file, indent=4)

Beachten Sie, dass wir json.loads() aufrufen, bevor wir die Daten in eine JSON-Datei ausgeben. Auch bei Verwendung von .json() gibt LlamaIndex sein JSON als String aus. Wenn Sie es wie ein Diktat behandeln möchten, wandelt json.loads() es für Sie in ein herkömmliches JSON-Objekt um.

Hier ist ein kleiner Ausschnitt aus der JSON-Datei, die unser Scraper schreibt.

{
    "id_": "34bcf1ea-998a-48ce-beb2-0d6feff950e1",
    "embedding": null,
    "metadata": {
        "query": "Top News Articles",
        "engine": "google",
        "url": "https://www.google.com/search?q=Top%20News%20Articles&num=10"
    },
    "excluded_embed_metadata_keys": [],
    "excluded_llm_metadata_keys": [],
    "relationships": {},
    "metadata_template": "{key}: {value}",
    "metadata_separator": "\n",
    "text_resource": {
        "embeddings": null,
        "text": "# Accessibility Links\n\nSkip to main content[Accessibility help](https://support.google.com/websearch/answer/181196?hl=en)\n\nAccessibility feedback\n\n[](https://www.google.com/webhp?hl=en&ictx=0&sa=X&ved=0ahUKEwizmMaNvoCOAxUmmYkEHa58MagQpYkNCAo)\n\nPress / to jump to the search box\n\nTop News Articles\n\n[Sign in](https://accounts.google.com/ServiceLogin?hl=en&passive=true&continue=https://www.google.com/search%3Fq%3DTop%2BNews%2BArticles%26num%3D10%26oq%3DTop%2BNews%2BArticles%26uule%3Dw%2BCAIQICINVW5pdGVkIFN0YXRlcw%26hl%3Den%26sourceid%3Dchrome%26ie%3DUTF-8&ec=GAZAAQ)\n\n# Filters and Topics\n\n[AI Mode](/search?q=Top+News+Articles&sca%5Fesv=62890ff6c1b2e448&hl=en&udm=50&

Web Scraper API

Mit der Scraper-API können Sie Datenfeeds erstellen, die bei Bedarf Sammlungen auslösen. Im folgenden Code verwenden wir web_data_feed(), um eine Sammlung von der Scraper-API auszulösen.

from llama_index.tools.brightdata import BrightDataToolSpec

brightdata = BrightDataToolSpec(
    api_key="your-api-key",
    zone="mcp_unlocker")
result = brightdata.web_data_feed(
    source_type="linkedin_person_profile",
    url="https://www.linkedin.com/in/williamhgates/",
    timeout=600,
    polling_interval=30)

print(result)

Gehen Sie nach einigen Augenblicken auf die Seite mit den Protokollen. Sie sollten alle Ihre Sammlungen protokolliert sehen und mit einem Klick auf eine Schaltfläche zum Herunterladen bereit sein.

Scraper-Berichte sind zum Download bereit

Schlussfolgerung

Jetzt haben Sie Ihr Web-Scraping auf ein höheres Niveau gebracht und Ihre Arbeitslast drastisch reduziert. Mit LlamaIndex, Bright Data und ein paar Zeilen Python können Sie fast alle gewünschten Daten aus dem Internet abrufen.

Ob Sie nun Markdowns extrahieren, Screenshots erfassen, Google-Suchen durchführen oder vollständige Scraping-Jobs auslösen, LlamaIndex und Bright Data geben Ihnen die Möglichkeit, Ihre wertvollen Daten zu sammeln.

Sind Sie bereit, die nächste Stufe zu erklimmen? Verbinden Sie diese leistungsstarke Toolkombination mit einer Live-Datenpipeline oder erstellen Sie einen KI-Agenten.

Melden Sie sich jetzt für eine kostenlose Testversion an und verbessern Sie Ihre Datenerfassung noch heute!