Langchain -Integration

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
  • openaidas 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:

Screenshot des Schakerapi -DashboardsScreenshot des Schakerapi -Dashboards

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.

Mein Name ist Kadek und ich bin ein Student aus Indonesien und studiere derzeit Informatik in Deutschland. Dieser Blog dient als Plattform, auf der ich mein Wissen zu Themen wie Web Scraping, Screen Scraping, Web Data Mining, Web Harvesting, Web Data Extraction und Web Data Parsing teilen kann.