DEV Community

João.py
João.py

Posted on

Web Scraping 101

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
Enter fullscreen mode Exit fullscreen mode

Após isso, você cria um projeto Scrapy usando:

scrapy startproject webcrawler
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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)