CAPSOLVER
Blog
Como usar o ScrapeGraph AI para Web Scraping

Como usar o ScrapeGraph AI para Web Scraping

Logo of CapSolver

Aloísio Vítor

Image Processing Expert

04-Sep-2024

Como Usar o ScrapeGraph AI para Web Scraping

O que é o ScrapeGraph AI?

ScrapeGraph AI é uma biblioteca Python de web scraping que utiliza LLMs e lógica baseada em grafos para construir pipelines de scraping para sites e documentos locais (incluindo XML, HTML, JSON, Markdown e mais). Basta especificar os dados que você deseja extrair, e a biblioteca cuidará do resto!

A biblioteca oferece vários recursos:

  • Suporte a vários LLMs: GPT, Gemini, Groq, Azure, Hugging Face
  • Modelos locais: Ollama.
  • Suporte a proxy para lidar com solicitações atrás de proxies.

Pré-requisitos

Antes de mergulhar no uso do ScrapeGraph AI, certifique-se de ter o seguinte instalado:

bash Copy
pip install scrapegraphai capsolver

playwright install

Começando com o ScrapeGraph AI

Aqui está um exemplo básico de como usar o ScrapeGraph AI com o OpenAI para raspar uma página da web:

python Copy
import json
from scrapegraphai.graphs import SmartScraperGraph

# Define a configuração para o pipeline de scraping
graph_config = {
    "llm": {
        "api_key": "YOUR_OPENAI_APIKEY",
        "model": "openai/gpt-4o-mini",
    },
    "verbose": True,
    "headless": False,
}

# Crie a instância SmartScraperGraph
smart_scraper_graph = SmartScraperGraph(
    prompt="Liste todas as citações com sua descrição",
    source="https://quotes.toscrape.com/",
    config=graph_config
)

# Execute o pipeline
result = smart_scraper_graph.run()
print(json.dumps(result, indent=4))

Aqui está um exemplo básico de como usar o ScrapeGraph AI com LLM Local (Ollama) para raspar uma página da web:

python Copy
import json
from scrapegraphai.graphs import SmartScraperGraph

# Define a configuração para o pipeline de scraping
graph_config = {
    "llm": {
        "model": "ollama/llama3.1",
        "temperature": 0,
        "format": "json",  # Ollama precisa que o formato seja especificado explicitamente
        # "base_url": "http://localhost:11434", # define o URL do ollama arbitrariamente
    },
    "verbose": True,
    "headless": False
}

# Crie a instância SmartScraperGraph
smart_scraper_graph = SmartScraperGraph(
    prompt="Liste todas as citações com sua descrição",
    source="https://quotes.toscrape.com/",
    config=graph_config
)

# Execute o pipeline
result = smart_scraper_graph.run()
print(json.dumps(result, indent=4))

Lidando com Captchas com CapSolver e ScrapeGraph AI

Nesta seção, exploraremos como integrar o Capsolver com o ScrapeGraph AI para contornar captchas. CapSolver é um serviço externo que ajuda a resolver vários tipos de captchas, incluindo o ReCaptcha V2, que é comumente usado em sites.

Demonstraremos a resolução do ReCaptcha V2 usando o Capsolver e, em seguida, faremos o scraping do conteúdo de uma página que exige a resolução do captcha primeiro.

Código Bônus

Pegue seu Código Bônus para as melhores soluções de captcha; CapSolver: scrape. Após resgatá-lo, você receberá um bônus extra de 5% após cada recarga, Ilimitado

Exemplo: Resolvendo ReCaptcha V2 com Capsolver e ScrapeGraph AI

python Copy
import capsolver
import os
import json
from scrapegraphai.graphs import SmartScraperGraph

# Considere o uso de variáveis de ambiente para informações confidenciais
PROXY = os.getenv("PROXY", "http://username:password@host:port")
capsolver.api_key = os.getenv("CAPSOLVER_API_KEY", "Your Capsolver API Key")
PAGE_URL = os.getenv("PAGE_URL", "PAGE_URL")
PAGE_KEY = os.getenv("PAGE_SITE_KEY", "PAGE_SITE_KEY")

def solve_recaptcha_v2(url, key):
    solution = capsolver.solve({
        "type": "ReCaptchaV2Task",
        "websiteURL": url,
        "websiteKey": key,
        "proxy": PROXY
    })
    return solution['solution']['gRecaptchaResponse']

def main():
    print("Resolvendo reCaptcha v2")
    solution = solve_recaptcha_v2(PAGE_URL, PAGE_KEY)
    print("Solução: ", solution)

# Define a configuração para o pipeline de scraping
graph_config = {
    "llm": {
        "api_key": "YOUR_OPENAI_APIKEY",
        "model": "openai/gpt-4o-mini",
    },
    "verbose": True,
    "headless": False,
}

# Crie a instância SmartScraperGraph
smart_scraper_graph = SmartScraperGraph(
    prompt="Encontre a descrição de cada citação.",
    source="https://quotes.toscrape.com/",
    config=graph_config
)

# Execute o pipeline
result = smart_scraper_graph.run()
print(json.dumps(result, indent=4))

Conclusão

Com o ScrapeGraph AI, você pode raspar sites de forma eficiente, enquanto lida com as complexidades de proxies e captchas. Combiná-lo com o Capsolver permite que você contorne os desafios do ReCaptcha V2 sem problemas, permitindo acesso a conteúdo que, de outra forma, seria difícil de raspar.

Sinta-se à vontade para estender este script para atender às suas necessidades de scraping e experimentar recursos adicionais oferecidos pelo ScrapeGraph AI. Sempre certifique-se de que suas atividades de scraping respeitem os termos de serviço do site e as diretrizes legais.

Feliz scraping!

Declaração de Conformidade: As informações fornecidas neste blog são apenas para fins informativos. A CapSolver está comprometida em cumprir todas as leis e regulamentos aplicáveis. O uso da rede CapSolver para atividades ilegais, fraudulentas ou abusivas é estritamente proibido e será investigado. Nossas soluções de resolução de captcha melhoram a experiência do usuário enquanto garantem 100% de conformidade ao ajudar a resolver dificuldades de captcha durante a coleta de dados públicos. Incentivamos o uso responsável de nossos serviços. Para mais informações, visite nossos Termos de Serviço e Política de Privacidade.

Mais