Das Langchain Scraperapi-Paket ermöglicht es KI-Agenten, im Internet zu durchsuchen und auf Echtzeitinformationen zuzugreifen, ohne von Detektoren blockiert zu werden. Mit nur zwei Codezeilen können Sie einen grundlegenden Chatbot in einen intelligenten Agenten verwandeln, der Websites kratzt, Google -Suchvorgänge ausführt und Amazon -Produktdaten extrahiert.
Diese Integration kümmert sich auch um alle komplexen Kratzinfrastrukturen, einschließlich IP-Rotation, Captcha-Lösung, Rate-Limiting und anderen Anti-BOT-Maßnahmen, alle gesetzlich konform.
Um dieses Paket zu verwenden, brauchen Sie Folgendes:
- Python 3.7 oder höher installiert
- Ein Schaferapi -Konto und eine API -Taste (melden Sie sich bei Scraperapi.com an) und an
- Ein OpenAI -API -Schlüssel (erhalten Sie Ihren) oder einen anderen LLM -Anbieter (Hinweis: Wenn Sie OpenAI verwenden, müssen Sie möglicherweise auch die Abrechnungsdetails eingeben, um die angebotene kostenlose Testversion zu verwenden.
- Der
langchain
Paket - Der
langchain_scraperapi
Paket - Der
langchain_openai
Paket openai
das Openai Python -Paket- Grundlegende Vertrautheit mit Langchain -Agenten
Installation
Installieren Sie das Langchain Scraperapi -Paket mit PIP:
pip install -U langchain_scraperapi openai langchain_openai langchain
Stellen Sie nach der Installation Ihre API -Anmeldeinformationen als Umgebungsvariablen in Ihrem Terminal fest:
export SCRAPERAPI_API_KEY="YOUR_SCRAPERAPI_API_KEY"
export OPENAI_API_KEY="YOUR_OPENAI_API_KEY" # If using OpenAI
# export ANTHROPIC_API_KEY="YOUR_ANTHROPIC_API_KEY" # If using Anthropic Claude
# export COHERE_API_KEY="YOUR_COHERE_API_KEY" # If using Cohere
Jeweils ersetzen YOUR_..._API_KEY
mit Ihren tatsächlichen Schlüssel aus den jeweiligen Dashboards der Anbieter. Ihr Agent benötigt diese, um Anfragen sowohl an Scraperapi als auch an Ihren ausgewählten LLM -Anbieter zu authentifizieren.
Nach dem Anmelden finden Sie Ihre Schäfertasten auf Ihrem Dashboard:
Verfügbare Werkzeuge
Die Integration bietet drei Tools:
1. Scraperapitool: /
Kratzen jeder öffentlichen Website und gibt Inhalte in Ihrem bevorzugten Format (Markdown, HTML oder Textdaten) zurück.
from langchain_scraperapi import ScraperAPITool
tool = ScraperAPITool()
result = tool.invoke({
"url": "https://openai.com",
"output_format": "markdown"
})
2. Scraperapigooglesearchtool:/structured/google/such
Kratzt die Google -Suchergebnisse und gibt ein JSON- oder CSV -Format zurück.
from langchain_scraperapi.tools import ScraperAPIAmazonSearchTool
tool = ScraperAPIAmazonSearchTool()
result = tool.invoke({
"query": "wireless headphones",
"output_format": "json"
})
Basic Agent Setup
from langchain_scraperapi import ScraperAPITool
from langchain.agents import initialize_agent, AgentType
from langchain_openai import ChatOpenAI
# Initialize the OpenAI LLM
llm = ChatOpenAI(temperature=0)
# Create the scraper tool
scraper_tool = ScraperAPITool()
# Initialize the agent with the scraper tool
agent = initialize_agent(
tools=(scraper_tool),
llm=llm,
agent=AgentType.OPENAI_FUNCTIONS,
verbose=True
)
# Test the agent
response = agent.invoke("Can you browse https://news.ycombinator.com and tell me the top 3 articles?")
print(response)
Hier erfahren Sie, wie Sie einen einfachen Langchain -Agenten mit Web -Scraping -Funktionen einrichten:
from langchain.agents import initialize_agent, AgentType
from langchain_openai import ChatOpenAI
#Import the scraper tool
from langchain_scraperapi import ScraperAPITool
# Initialize the OpenAI LLM
llm = ChatOpenAI(temperature=0)
# Create the scraper tool
scraper_tool = ScraperAPITool()
# Initialize the agent with the scraper tool
agent = initialize_agent(
tools=(scraper_tool),
llm=llm,
agent=AgentType.OPENAI_FUNCTIONS,
verbose=True
)
# Test the agent
response = agent.invoke("Can you browse https://news.ycombinator.com and tell me the top 3 articles?")
print(response)
Multi-Tool-Agent-Setup
Für umfassendere Funktionen für das Webbrowsing können Sie Ihrem Agenten alle drei Tools hinzufügen:
from langchain.agents import initialize_agent, AgentType
from langchain_openai import ChatOpenAI
from langchain_scraperapi import ScraperAPITool
from langchain_scraperapi.tools import ScraperAPIGoogleSearchTool, ScraperAPIAmazonSearchTool
# Initialize the LLM
llm = ChatOpenAI(temperature=0)
# Create all three tools
scraper_tool = ScraperAPITool()
google_tool = ScraperAPIGoogleSearchTool()
amazon_tool = ScraperAPIAmazonSearchTool()
# Initialize the agent with all tools
agent = initialize_agent(
tools=(scraper_tool, google_tool, amazon_tool),
llm=llm,
agent=AgentType.OPENAI_FUNCTIONS,
verbose=True
)
# Test with different queries
response1 = agent.invoke("Search Google for 'Python web scraping' and give me the top 3 results")
response2 = agent.invoke("Find wireless headphones on Amazon under $100")
response3 = agent.invoke("Browse the GitHub homepage and summarize what's trending")
Benutzerdefinierte Parameter
Sie können zusätzliche Scraperapi -Parameter übergeben, um Ihr Scraping anzupassen:
from langchain_scraperapi import ScraperAPITool
tool = ScraperAPITool()
result = tool.invoke({
"url": "https://example.com",
"output_format": "markdown",
"country_code": "US",
"render": True, # Enable JavaScript rendering
"wait": 5000 # Wait 5 seconds for page load
})
Fehlerbehandlung
Implementieren Sie bei Verwendung der Tools immer eine ordnungsgemäße Fehlerbehandlung:
from langchain_scraperapi import ScraperAPITool
tool = ScraperAPITool()
try:
result = tool.invoke({
"url": "https://example.com",
"output_format": "markdown"
})
print("Scraping successful:", result)
except Exception as e:
print(f"Scraping failed: {e}")
# Implement fallback logic here
Leistungsüberlegungen
Scraperapi behandelt die gesamte komplexe Infrastruktur, einschließlich IP -Rotation, Captcha -Lösung und Ratenlimit. Denken Sie jedoch an diese Punkte:
- Gleichzeitige Anfragen: Stellen Sie sicher
- Zeitüberschreitungen: Legen Sie die entsprechenden Zeitüberschreitungen in Ihrer Langchain -Konfiguration fest, damit die Erkratzungszeit Anforderungen verarbeitet werden kann
- Ratengrenzen: Während Scraperapi die Ratenbeschränkung verwaltet, vermeiden Sie es, übermäßige Anfragen in schneller Folge zu stellen
Fehlerbehebung
API -Schlüsselprobleme
Wenn Sie Authentifizierungsfehler erhalten, überprüfen Sie:
- Ihr API -Schlüssel ist in der Umgebungsvariablen korrekt eingestellt
- Der API -Schlüssel hat ausreichende Credits
- Der API -Schlüssel ist aktiv und nicht abgelaufen
Zeitüberschreitungsfehler
Wenn dies häufig vorüber ist:
- Steigern Sie die Zeitüberschreitungseinstellungen in Ihrer Langchain -Konfiguration
- Überprüfen Sie, ob die Zielwebsite zugänglich ist
- Stellen Sie sicher
Werkzeug keine Fehler gefunden
Wenn der Agent die Tools nicht finden kann:
- Stellen Sie sicher, dass die Werkzeuge ordnungsgemäß importiert werden
- Überprüfen Sie, ob die Tools in der Werkzeugliste des Agenten enthalten sind
- Überprüfen Sie, ob das Paket korrekt installiert ist
Weitere erweiterte Konfigurationsoptionen und -parameter finden Sie in der Dokumentation von Scraperapi Python.