Net Scraping com LLMs e ScrapeGraphAI


Raspagem da Net tornou-se uma ferramenta importante e essencial para coletar informações úteis dos websites disponíveis. De todas as ferramentas presentes, o ScrapeGraphAI é o único que pode identificar gráficos e usar Inteligência Synthetic para internet scraping. Este artigo explora os recursos do ScrapeGraphAI, fornece um guia passo a passo para implementação e aborda desafios comuns. Quer você seja novo em internet scraping ou um usuário experiente, este guia irá equipá-lo com o conhecimento para usar o ScrapeGraphAI de maneira eficaz.

Net Scraping com LLMs e ScrapeGraphAI

Objetivos de aprendizagem

  • Entenda os principais recursos e vantagens do uso do ScrapeGraphAI para internet scraping.
  • Aprenda como instalar e configurar o ScrapeGraphAI para seus projetos de scraping.
  • Obtenha experiência prática com um guia de implementação passo a passo para extrair dados da internet.
  • Reconheça os desafios e considerações ao usar o ScrapeGraphAI de forma eficaz.
  • Descubra como exportar dados extraídos para formatos úteis como Excel ou CSV.

Este artigo foi publicado como parte do Blogatona de Ciência de Dados.

O que é ScrapeGraphAI?

Extrair listas de produtos da Amazon pode ser uma tarefa difícil. Normalmente, você pode gastar 200–300 linhas de código configurando solicitações HTTP, analisando HTML com seletores ou regex, lidando com paginação, lidando com medidas anti-bot e muito mais. Mas com ScrapeGraphAIvocê pode instruir um modelo de IA (apoiado por grandes modelos de linguagem) para extrair exatamente o que você precisa, geralmente em apenas algumas linhas de Pitão.

Isenção de responsabilidade:

  • Os Termos de Serviço da Amazon normalmente proíbem a extração ou extração de dados sem permissão explícita.
  • Este artigo é puramente uma demonstração dos recursos do ScrapeGraphAI em uma única página da Amazon para uso educacional ou pessoal.
  • A sucata em grande escala ou comercial da Amazon pode ser authorized e tecnicamente arriscada.

Por que escolher o ScrapeGraphAI para Net Scraping?

ScrapeGraphAI revoluciona o internet scraping mudando o foco da codificação complexa para instruções intuitivas em linguagem pure, tornando a extração de dados mais rápida, simples e eficiente.

Redução significativa no código

Com a raspagem tradicional, você pode usar solicitações, BeautifulSoup, Selenium ou outras bibliotecas. Um script típico pode facilmente subir para 200–300 linhas, uma vez que você leva em consideração o tratamento de erros, seletores CSS, paginação e muito mais. Por outro lado, o ScrapeGraphAI usa prompts em linguagem pure para descrever o que você deseja – o que significa que a maior parte do trabalho pesado é feita por um modelo de IA em segundo plano.

Prototipagem mais rápida

Como você não precisa criar seletores manualmente para cada parte do HTML ou se preocupar com pequenas alterações no DOM, você pode criar um protótipo em minutos.

Abordagem de nível superior

Ao descrever seus requisitos de dados em inglês do dia a dia, você se concentra no que deseja, e não em como obtê-lo. Essa abordagem pode ser mais robusta para pequenas alterações de structure do que consultas CSS ou XPath frágeis (embora reformulações de websites ainda possam quebrar qualquer abordagem automatizada).

Facilidade de Manutenção

Quando a Amazon (ou qualquer outro website) altera seu structure, muitas vezes você precisa vasculhar o HTML novamente para encontrar os seletores corretos. Com o ScrapeGraphAI, você apenas atualiza seu immediate se os títulos ou a estrutura da página mudarem.

Primeiros passos com ScrapeGraphAI

Embarcar em sua jornada de internet scraping com ScrapeGraphAI é simples e descomplicado. Ao aproveitar sua interface intuitiva e recursos alimentados por IA, você pode pular as complexidades usuais das configurações tradicionais de scraping.

As etapas abaixo irão guiá-lo na aquisição da chave da API ScrapeGraphAI, na instalação das ferramentas necessárias e na configuração do seu ambiente para extrair dados com eficiência em apenas algumas etapas. Quer você seja um desenvolvedor experiente ou iniciante, você descobrirá que o processo simplificado do ScrapeGraphAI é uma virada de jogo para lidar com tarefas de extração de dados.

  • Vá para: ScrapeGraphAI
  • Clique: começar
  • Login: você pode fazer login usando sua conta do Google.
  • Copie sua chave API: Na próxima página, sua chave API será exibida. Basta copiá-lo.

Nota: ScrapeGraphAI fornece 100 créditos grátis para você começar!

Guia de implementação passo a passo

Abaixo, mostraremos como acessar a página de resultados de pesquisa da mesa de cabeceira da Amazon e extrair detalhes como título, preço, classificação, número de classificações e informações de entrega com apenas algumas linhas de código.

Etapa 1: instalar dependências

Antes de começar, você precisará instalar as bibliotecas necessárias. Eles fornecerão as ferramentas necessárias para internet scraping e manipulação de dados.

pip set up --quiet -U langchain-scrapegraph pandas
  • langchain-scrapegraph: O pacote oficial para ferramentas Python do ScrapeGraphAI.
  • pandas: usaremos isso para armazenar os resultados em um arquivo DataFrame ou Excel.

Etapa 2: importe e configure sua chave de API

Para interagir com o ScrapeGraphAI, você precisará configurar sua chave de API. Se a chave ainda não estiver no seu ambiente, você será solicitado a inseri-la com segurança.

import os
import getpass
import pandas as pd
from langchain_scrapegraph.instruments import SmartScraperTool

# If you have not set your API key in your setting, you may be prompted for it:
if not os.environ.get("SGAI_API_KEY"):
    os.environ("SGAI_API_KEY") = getpass.getpass("ScrapeGraph AI API key:n")

Etapa 3: Crie o SmartScraperTool

Esta etapa inicializa o ScrapeGraphAI SmartScraper, que serve como o coração do processo de raspagem.

smartscraper = SmartScraperTool()

Esta linha de código dá acesso a um internet scraper baseado em IA que aceita um immediate simples.

Etapa 4: escreva o immediate

Em vez de escrever linhas de seletores CSS ou XPath, você diz à ferramenta o que fazer em inglês simples. Por exemplo:

scraper_prompt = """
1. Go to the Amazon search outcomes web page: https://www.amazon.in/s?ok=bedside+desk
2. For every product itemizing, extract:
   - Product Title
   - Worth
   - Star Ranking
   - Variety of Rankings
   - Supply particulars
3. Return the outcomes as a JSON array of objects, every with keys:
   "title", "value", "ranking", "num_ratings", "supply".
4. Ignore sponsored listings if potential.
"""

Sinta-se à vontade para adicionar ou remover instruções. Você também pode incluir “hyperlink do produto” ou “elegibilidade principal”.

Etapa 5: invocar o raspador

Com o immediate e o raspador prontos, agora você pode executar a tarefa de raspagem.

search_url = "https://www.amazon.in/s?ok=bedside+desk"

end result = smartscraper.invoke({
    "user_prompt": scraper_prompt,
    "website_url": search_url
})

print("Scraped Outcomes:n", end result)

O que você receberá normalmente é uma lista (matriz) de dicionários. Cada dicionário contém os dados que você solicitou: título, preço, classificação, num_ratings, entrega, and so forth.

Exemplo (simplificado):

(
  {
    "title": "XYZ Interiors Wood Bedside Desk...",
    "value": "₹1,499",
    "ranking": "4.3 out of 5 stars",
    "num_ratings": "1,234",
    "supply": "Get it by Monday, January 10"
  },
  ...
)

Saída:

end result
{"merchandise": ({"title": "Studio Kook SEZ Couch Mate Engineered Wooden Facet Desk
(Junglewood, Matte End)",
'ranking: 4.5 out of 5 stars',
"num_ratings": "19",
'supply': 'Get it Monday 6 January Wednesday 8 January",
"product_link":
"3.0.in/dio-oo-oo-Fi/"}, {"title":"ULD CRAFTS Vintage Wood Fold-able Espresso
Desk/Facet Desk/Finish Desk/Tea Desk/Plant Stand/St 'value': '979',
'ranking': '4.0 out of 5 stars',
'n rankings" '14,586,
'supply': "FREE supply Thu, 2 Jan on prime of things fulfilled by Amazon or quickest
supply Tomorrow, 'product_link":"https://mazon.in/SSD-CRAFTS-Residul-fold-ale-
humáture/de/2692716056"},
('title': 'Firebees Trendy Wood Desk, Wood Bedside Desk for Mattress Room,
'nun rankings": "292",
'supply': "Get it by 6-7 Jan",
'product_link":"//amazon.joedside-lansstand-millexten/da/GAMIX"),
('title': 'Delon Wood Heart Desk, Finish Couch, Bedside Desk, Nook Espresso Desk
with Strong End House 'value': '49",
"ranking": "3.6 out of 5 stars',
'n rankings": "63",
'supply' "Get it by 67 Jan",
'product_link': '//zon.in/ein-Bedside-furniture-Storage-Bed room/da/55"},
{"title":"ETIQUETTE ART Retro Bookcase Nightstand, Finish Desk, Mattress Facet Desk for
Small Areas Journal Star
'value': '99,
'ranking': '3.8 out of 5 stars',
num rankings": "15",
'supply': "Get it by Tuesday, January 7,
'product_link":"/APHYAL"}}}
Output is truncated. View assialer or open in a tots Regulate cell output

Etapa 6: Opcional: Exportar para Excel ou CSV

Se você deseja armazenar seus resultados, o pandas facilita:

df = pd.DataFrame(end result)
df.to_excel("bedside_tables.xlsx", index=False)
print("Information exported to bedside_tables.xlsx")

Vantagens de usar ScrapeGraphAI

Abaixo estão as vantagens de usar o ScrapeGraphAI, que o tornam uma escolha de destaque para internet scraping eficiente e inteligente.

Simplicidade

  • A raspagem tradicional com solicitações + BeautifulSoup ou Selenium pode facilmente aumentar para 200-300 linhas, uma vez que você leva em consideração o tratamento de erros, paginação, carregamento dinâmico e análise de dados.
  • Com o ScrapeGraphAI, muitas vezes você pode obter o mesmo resultado em menos de 20 linhas (às vezes até menos de 10).

Economia de tempo

  • Você não precisa descobrir cada seletor CSS ou Xpath. Você simplesmente diz: “Extraia o título, preço, classificação…”
  • O LLM faz a análise pesada do HTML nos bastidores.

Iteração Rápida

  • Em vez de reescrever uma lógica complexa para cada novo ponto de dados, basta reformular seu immediate para capturar os campos adicionais necessários.

Evoluindo com a página

  • Se a Amazon alterar os nomes das lessons ou modificar ligeiramente a estrutura HTML, talvez você exact apenas de um pequeno ajuste no immediate, em vez de reescrever consultas CSS ou Xpath inteiras.

Desafios e Considerações

Abaixo estão os desafios e considerações que você deve ter em mente ao usar o ScrapeGraphAI para garantir uma internet scraping contínua e eficaz.

Termos de serviço da Amazon

  • A Amazon geralmente proíbe a extração automatizada de dados. A raspagem repetida ou em grande escala pode bloqueá-lo ou levar a consequências legais.
  • Se você planeja fazer algo além de testes em pequena escala, obtenha permissão explícita ou considere um feed de dados oficial.

CAPTCHAs/medidas anti-bot

  • A Amazon pode detectar padrões de tráfego incomuns. Se você estiver bloqueado, poderá precisar de soluções avançadas: proxies rotativos, navegadores sem cabeça ou solicitações cuidadosamente cronometradas.

Volumes de dados

  • Se você deseja milhares de listagens de várias páginas, certifique-se de que sua abordagem seja robusta para lidar com paginação e conjuntos de large information.
  • Observe também seus créditos ScrapeGraphAI para uso em grande escala.

Conteúdo Dinâmico

  • Se certas informações (como frete ou emblemas principais) forem carregadas dinamicamente by way of JavaScript, uma abordagem estática poderá perdê-las. Técnicas mais avançadas (como Selenium ou Puppeteer) podem ser necessárias para capturar todos os detalhes.

Conclusão

ScrapeGraphAI traz uma abordagem revolucionária para internet scraping. Em vez de codificar meticulosamente a lógica de análise, você delega essa complexidade a um modelo de IA – reduzindo sua base de código de centenas de linhas para um script conciso e fácil de ler.

Para muitos casos de uso, como comparações rápidas de produtos, extração única de dados ou pesquisas em pequena escala, isso pode economizar muito tempo. No entanto, você ainda precisa estar atento às políticas da Amazon e, para raspagem em grande escala, técnicas avançadas e considerações de conformidade permanecem essenciais.

Resumidamente:

  • Se você precisa apenas de alguns pontos de dados de algumas páginas, o ScrapeGraph AI pode ser seu melhor amigo.
  • Para trabalhos maiores, certifique-se de estar dentro dos termos de serviço do website e preparado para lidar com CAPTCHAs ou outros obstáculos anti-bot.

Principais conclusões

  • ScrapeGraphAI reduz o esforço e a complexidade do internet scraping de centenas de linhas de código para instruções concisas e baseadas em prompts.
  • Com prompts em linguagem pure, você pode extrair dados rapidamente sem se preocupar com seletores HTML ou alterações de structure.
  • Pequenas atualizações nos prompts podem lidar com alterações na estrutura do website, minimizando a necessidade de reescritas extensas de código.
  • A raspagem da Amazon em grande escala pode violar seus Termos de Serviço e exigir soluções para CAPTCHAs e medidas anti-bot.
  • Superb para extração rápida de dados em pequena escala, mas projetos de grande escala exigem conformidade com as políticas da Amazon e mecanismos robustos de manuseio.

Perguntas frequentes

Q1. É authorized raspar a Amazon?

R. A raspagem da Amazon em grande escala geralmente não é permitida de acordo com seus Termos de Serviço. A Amazon emprega medidas anti-bot (CAPTCHAs, bloqueio de IP) para evitar raspagens não autorizadas. Para um projeto pessoal de pequena escala – como coletar um número limitado de listagens para pesquisa – você pode estar bem, mas deve sempre verificar os Termos de Serviço atuais da Amazon e confirmar que tem permissão. A sucata em grande escala ou comercial pode ser legalmente arriscada e violar as políticas da Amazon.

Q2. Por que precisamos do ScrapeGraphAI para esta tarefa?

A. ScrapeGraphAI simplifica o processo de raspagem usando instruções baseadas em prompts com grandes modelos de linguagem subjacentes. Em vez de analisar HTML manualmente com seletores CSS ou XPath, você pode descrever os dados que deseja (“títulos de produtos, preços, and so forth.”) em inglês simples. Isso pode evitar que você escreva de 200 a 300 linhas de código de análise personalizado.

Q3. O ScrapeGraph AI sempre será capaz de recuperar os dados que solicito?

R. Nem sempre. Alguns websites (incluindo Amazon) dependem fortemente de JavaScript para carregar ou atualizar informações de produtos. Se os dados forem injetados dinamicamente e o HTML não estiver presente na fonte inicial, o ScrapeGraphAI poderá não vê-los por meio de uma simples solicitação HTTP. Além disso, os websites podem empregar captchas ou bloquear solicitações. Nesses casos, você pode precisar de técnicas avançadas (navegadores headless, proxies, and so forth.).

This fall. Posso copiar várias páginas ou categorias inteiras?

R. Sim, em teoria, você pode instruir o ScrapeGraphAI a seguir os hyperlinks de paginação e obter mais resultados. No entanto, esteja atento aos limites de taxa, aos possíveis desafios do CAPTCHA e aos TOS da Amazon. Se você copiar muitas páginas repetidamente, corre o risco de ser bloqueado ou violar suas políticas de uso.

A mídia mostrada neste artigo não é propriedade da Analytics Vidhya e é usada a critério do Autor.

Oi! Sou Adarsh, formado em Enterprise Analytics pelo ISB, atualmente em profunda pesquisa e exploração de novas fronteiras. Sou tremendous apaixonado por ciência de dados, IA e todas as maneiras inovadoras pelas quais elas podem transformar indústrias. Seja construindo modelos, trabalhando em pipelines de dados ou mergulhando no aprendizado de máquina, adoro experimentar as tecnologias mais recentes. IA não é apenas meu interesse, é onde vejo o futuro caminhando, e estou sempre animado por fazer parte dessa jornada!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *