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

Guias, Scraping, Python, Maio-24-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. Ao contrário 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" (É apenas o Himalaia), 
'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 precisar de ajuda com a Web scraping, sinta-se à vontade para entrar em nosso canal do Disc ord, onde você poderá encontrar suporte.

Feliz Scraping!