Neste tutorial, vou ensinar como criar um web crawler usando Python e o framework Scrapy. Mas, antes de tudo, quero explicar o que é um web crawler, web scraping e por que é tão importante e interessante aprender sobre isso.
Web Scraping x Web Crawling
No início, você pode pensar que não há diferença entre eles, mas há. Web Scraping é quando você extrai dados de um ou mais sites, e Web Crawling é quando você encontra ou descobre URLs ou outros links na web.
Na maioria das vezes, em um projeto, você precisa combinar os dois. Primeiro, você rastreia a URL e extrai o conteúdo e, em seguida, extrai os dados desse conteúdo.
Por que é tão importante?
Trabalhei em uma equipe de extração de dados em uma empresa considerada o maior e-commerce da América Latina. Éramos um pequeno grupo de 4 desenvolvedores que trabalhavam em uma equipe de análise de concorrentes. Nossos trabalhos basicamente consistiam em visitar sites de concorrentes, extrair os dados e armazená-los em nosso próprio banco de dados. O resultado desse trabalho fez com que a equipe de análise de concorrentes monitorasse os preços dos concorrentes.
Este é apenas um primeiro exemplo de por que o web crawling / scraping é importante, mas pode ser usado em: Recrutamento, Jornalismo, Finanças e muitas outras áreas.
Mãos na massa!!
Primeiro, você precisa instalar o Scrapy:
pip install scrapy
Após isso, você cria um projeto Scrapy usando:
scrapy startproject webcrawler
Este código acima inicia um projeto Scrapy em uma pasta com um modelo Scrapy. A estrutura deve ser assim:
Criando o primeiro spider
Na pasta "spiders", crie um arquivo chamado "quotes_spider" ou qualquer outro nome que desejar. Depois disso, você pode codificar seu spider.
Neste código acima, você vê as etapas de criação de um spider. Primeiro, você importa a biblioteca Scrapy e, em seguida, cria a classe QuoteSpider.
De acordo com a documentação do Scrapy: "Spiders são classes que você define e que o Scrapy usa para extrair informações de um site (ou grupo de sites). Eles devem herdar de Spider e definir as solicitações iniciais a serem feitas, opcionalmente como seguir links nas páginas e como analisar o conteúdo da página baixada para extrair dados."
Em nosso spider, estamos rastreando a página da web http://quotes.toscrape.com/page/1/.
Para executar o spider, vá para o diretório de nível superior do projeto e execute:
scrapy crawl quotes
O comando executa o spider com o nome "quotes" e enviará algumas solicitações para o domínio da URL. A saída será semelhante a esta:
Agora você pode verificar os novos arquivos quotes-1.html e quotes-2.html com o conteúdo das respectivas URLs.
Conclusão
Este mini tutorial é para mostrar o quão simples e ótimo é o web scraping. Você pode ver outras ferramentas como Beautiful Soup para estudar web scraping se quiser.
Espero que tenha gostado do tutorial e que tenha sido útil para você.
Fontes:
Documentação do Scrapy
Top comments (0)