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

Guias, Scraping, Pitão, 24 de maio de 20245 minutos de leitura

O AutoScraper é uma biblioteca avançada e de código aberto da Web scraping para Python que simplifica o processo de extração de dados de sites. Diferentemente das estruturas tradicionais da Web scraping que exigem codificação extensa 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 Web scraping . Sua interface amigável e a geração automática de regras o tornam acessível para aqueles que talvez não tenham muita experiência em codificação.   

Principais recursos do AutoScraper

  • Facilidade de uso: Com algumas linhas de código, você pode configurar um raspador da Web que requer manutenção mínima.
  • Extração eficiente de dados: O modelo do AutoScraper aprende a estrutura das páginas da Web para se adaptar a pequenas alterações, reduzindo a necessidade de ajustes frequentes.
  • Versatilidade: É compatível com uma ampla variedade de sites e pode ser integrado a pipelines de dados maiores.

Início rápido do AutoScraper

Suponha que você queira acessar scrape uma loja de comércio eletrônico sem lidar com a análise de HTML. O AutoScraper permite que você insira nomes de produtos na 'wanted_list', e ele aprenderá automaticamente a estrutura HTML e analisará os produtos subsequentes por conta própria.

Aqui está um exemplo claro para demonstrar o processo, incluindo a implementação do proxies:

Etapa 1: Instalar o AutoScraper

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

from autoscraper import AutoScraper

Etapa 3: Defina o URL e a lista de procurados

Especifique o URL que você deseja acessar scrape 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",
]

Etapa 4: Construir o raspador

Use o AutoScraper para criar seu modelo scraping :

    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)

Etapa 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 ...', 
'The Requiem Red', 'The Dirty Little Secrets ...', 
'The Coming Woman: A ...', 
'The Boys in the ...', 
'The Black Maria', 
'Starving Hearts( Corações famintos) ( Comérciotriangular...', 
"Shakespeare's Sonnets" (Sonetos de Shakespeare), 
'Set Me Free', 
"Scott Pilgrim's Precious Little ...", 
'Rip it Up and ...', 
'Our Band Could Be ...', 
'Olio', 
'Mesaerion: A Melhor Ciência ...', 
'Libertarianismo para Iniciantes', 
"It's Only the Himalayas", 
'A Light in the Attic', 
'Sapiens: A Brief History of Humankind' (Sapiens: Uma Breve História da Humanidade), 
'The Dirty Little Secrets of Getting Your Dream Job', 
'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(Triangular Trade Trilogy,#1)', 
"A preciosa vida de Scott Pilgrim (Scott Pilgrim nº 1)", 
'Rip it Up and Start Again', 
'Our Band Could Be Your Life: Scenes from the American Indie Underground,  1981-1991', 
'Mesaerion: The Best Science Fiction Stories  1800-1849']

Limitações

  Uma das principais limitações do AutoScraper é que ele não oferece suporte à renderização de JavaScript ou a 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 que o Autoscraper cuide da análise para nós.
Se o seu site de destino emprega proteção anti-bot, em ProxyScrape, oferecemos uma API confiável da Web scraping que cuida de tudo para você, tornando o processo de coleta de dados fácil e eficiente.
Aqui está um exemplo de como você pode usar nossa API da Web scraping 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)

Práticas recomendadas para a Web Scraping com AutoScraper e Proxies

  • Respeite os termos de serviço do site: Sempre analise e cumpra os termos de serviço de um site antes de acessar scraping.
  • Use o Proxies rota tivo: para evitar a detecção e os limites de taxa, use o proxies rotativo que muda os endereços IP com frequência. O ProxyScrape oferece o proxies residencial e móvel rotativo que é perfeito para essa finalidade.
  • Limite suas solicitações: Implemente atrasos entre as solicitações para imitar o comportamento humano e reduzir o risco de ser banido.
  • Monitore suas atividades: Verifique regularmente a integridade do seu site proxies e o desempenho do seu scraper para identificar e resolver rapidamente quaisquer problemas.
  • Mantenha-se atualizado: Mantenha seus scripts scraping e listas proxy atualizados para se adaptar às mudanças nas estruturas dos sites e às rotações de IPs proxy .

Conclusão

A Web scraping é uma ferramenta poderosa para aquisição de dados e, com a combinação certa do AutoScraper e do proxies, você pode liberar todo o seu potencial. Ao integrar o ProxyScrape's premium proxies, você garante que suas atividades scraping sejam eficientes, anônimas e ininterruptas.Fornecemos os elementos necessários para você começar, se quiser avançar mais com o AutoScraper, verifique este gist.

Pronto para elevar seu jogo na Web scraping ? Comece a explorar os recursos do AutoScraper com o ProxyScrape's premium proxies hoje mesmo. Visite ProxyScrape para se registrar e aproveitar as vantagens de nossas soluções de ponta proxy .

Se você precisar de ajuda com a Web scraping, sinta-se à vontade para entrar em nosso canal do Discord , onde poderá encontrar suporte.

Feliz Scraping!