Um guia para simplificar o Web Scraping em Python com o AutoScraper

Guias, Raspagem, Python, May-23-20245 minutos de leitura

O AutoScraper é uma biblioteca de raspagem da Web poderosa e de código aberto para Python que simplifica o processo de extração de dados de sites. Ao contrário das estruturas tradicionais de raspagem da web que exigem codificação extensiva para analisar o conteúdo HTML, o AutoScraper pode gerar automaticamente regras para extrair as informações desejadas com base em exemplos fornecidos por você. O AutoScraper é particularmente adequado para iniciantes no mundo da raspagem da web. A sua interface amigável e a geração automática de regras tornam-no acessível para aqueles que podem não ter uma vasta experiência de codificação.   

Principais características do AutoScraper

  • Facilidade de utilização: Com algumas linhas de código, é possível configurar um raspador da Web que requer manutenção mínima.
  • Extração de dados eficiente: O modelo do AutoScraper aprende a estrutura das páginas web para se adaptar a pequenas alterações, reduzindo a necessidade de ajustes frequentes.
  • Versatilidade: Suporta uma vasta gama de sítios Web e pode ser integrado em condutas de dados maiores.

Início rápido do AutoScraper

Suponha que pretende fazer scraping de uma loja de comércio eletrónico sem ter de lidar com a análise de HTML. O AutoScraper permite-lhe introduzir os nomes dos produtos na "wanted_list" e aprenderá automaticamente a estrutura HTML e analisará os produtos subsequentes por si próprio.

Eis um exemplo claro para demonstrar o processo, incluindo a implementação de proxies:

Passo 1: Instalar o AutoScraper

Primeiro, você precisa instalar o AutoScraper. Você pode fazer isso usando pip:

from autoscraper import AutoScraper

Etapa 3: Definir o URL e a lista de procurados

Especifique o URL que deseja extrair e os elementos ou produtos que deseja extrair. Ao fazer isso, o AutoScraper pode aprender a estrutura HTML e analisar com precisão todos os elementos semelhantes dentro dessa estrutura:

url = 'https://books.toscrape.com/'
wanted_list = [
   "Tipping the Velvet",
   "Soumission",
]

Passo 4: Construir o raspador

Utilize o AutoScraper para construir o seu modelo de raspagem:

    scraper = AutoScraper()
    
    proxies = {
        "http": 'http://test_user112:[email protected]:6060',
        "https": 'http://test_user112:[email protected]:6060',
    }
    #  if you wish to use the same scraper again
    scraper.save('books_to_scrape')
    result = scraper.build(url, wanted_list, request_args=dict(proxies=proxies))
    print(result)

Passo 5: (Opcional) Reutilizar o raspador anterior

    raspador = AutoScraper()

   scraper.load('books_to_scrape')

    resultado = scraper.get_result(url)

Saída gerada pelo código:

['A Light in the ...', 
"Tipping the Velvet", 
"Soumission", 
"Sharp Objects", 
"Sapiens: Uma Breve História ...", 
"O Requiem Vermelho", "Os Pequenos Segredos Sujos ...", 
'The Coming Woman: A ...', 
"Os Rapazes da ...", 
"A Maria Negra", 
'Corações Famintos( ComércioTriangular...', 
"Sonetos de Shakespeare", 
"Liberta-me ", 
"Scott Pilgrim's Precious Little ...", 
'Rip it Up and ...', 
'A nossa banda podia ser ...', 
'Olio', 
'Mesaerion: A Melhor Ciência ...", 
'Libertarianismo para principiantes', 
"São apenas os Himalaias", 
"Uma Luz no Sótão", 
'Sapiens: Uma Breve História da Humanidade', 
"Os pequenos segredos sujos para conseguir o emprego dos seus sonhos", 
"The Coming Woman: Um romance baseado na vida da infame feminista Victoria Woodhull", 
"The Boys in the Boat: Nine Americans and Their Epic Quest for Gold at the 1936 Berlin Olympics", 
"Starving Hearts( Trilogia do ComércioTriangular,#1)", 
"A preciosa vida de Scott Pilgrim (Scott Pilgrim #1)", 
'Rip it Up and Start Again', 
'Our Band Could Be Your Life: Scenes from the American Indie Underground,  1981-1991", 
'Mesaerion: As Melhores Histórias de Ficção Científica  1800-1849']

Limitações

  Uma das principais limitações do AutoScraper é o facto de não suportar a renderização de JavaScript ou dados carregados dinamicamente. Mas não se preocupe, há uma solução! Usando bibliotecas Python como Selenium ou Playwright, que lidam com dados dinâmicos, podemos pegar os dados HTML e deixar o Autoscraper cuidar da análise para nós.
Se o seu site alvo emprega proteção anti-bot, em ProxyScrape, oferecemos uma API de raspagem da web confiável que cuida de tudo para você, tornando seu processo de coleta de dados fácil e eficiente.
Aqui está um exemplo de como você pode usar nossa API de raspagem da web com o AutoScraper:  

import requests
from autoscraper import AutoScraper


def send_request(url_to_scrape):
    api_key = 'your_api_key' 
    data = {
        "url": url_to_scrape,
        "browserHtml": True  # Use browserHtml for JavaScript rendering
    }
    headers = {
        "Content-Type": "application/json",
        "X-Api-Key": api_key
    }

    response = requests.post("https://api.proxyscrape.com/v3/accounts/freebies/scraperapi/request",
                             headers=headers, json=data)

    #  we return the html data that web scraping api extracted
    return response.json()['data']['browserHtml']

if __name__ == '__main__':
    target_url = 'https://books.toscrape.com/'

    # get html data using web scraping api
    html_content = send_request(target_url)

    # parse that html data using AutoScraper
    scraper = AutoScraper()

    wanted_list = [
        "Tipping the Velvet",
        "Soumission",
    ]

    result = scraper.build(wanted_list=wanted_list, html=html_content)

    print(result)

Melhores práticas para Web Scraping com AutoScraper e Proxies

  • Respeitar os termos de serviço do site: Reveja e cumpra sempre os termos de serviço de um sítio Web antes de efetuar scraping.
  • Utilizar proxies rotativos: Para evitar a deteção e os limites de taxa, utilize proxies rotativos que mudam frequentemente os endereços IP. ProxyScrape oferece proxies residenciais e móveis rotativos que são perfeitos para este fim.
  • Limite suas solicitações: Implemente atrasos entre os pedidos para imitar o comportamento humano e reduzir o risco de ser banido.
  • Monitorize as suas actividades: Verifique regularmente a integridade dos seus proxies e o desempenho do seu scraper para identificar e resolver rapidamente quaisquer problemas.
  • Mantenha-se atualizado: Mantenha seus scripts de raspagem e listas de proxy atualizados para se adaptar às mudanças nas estruturas de sites e rotações de IP de proxy.

Conclusão

O Web scraping é uma ferramenta poderosa para a aquisição de dados e, com a combinação certa de AutoScraper e proxies, pode desbloquear todo o seu potencial. Ao integrar os proxies de qualidade superior do ProxyScrape, garante que as suas actividades de recolha de dados são eficientes, anónimas e ininterruptas. Fornecemos-lhe os elementos necessários para começar, se quiser avançar mais com o AutoScraper, consulte este gist.

Pronto para elevar o seu jogo de raspagem da web? Comece a explorar as capacidades do AutoScraper com os proxies premium do ProxyScrape hoje mesmo. Visite ProxyScrape para se inscrever e tirar proveito de nossas soluções de proxy de última geração.

Se precisar de ajuda com a raspagem da Web, sinta-se à vontade para entrar no nosso canal Discord , onde pode encontrar apoio.

Boa raspagem!