Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Web Crawling e Scraping - TDC

Ana Carolina
July 21, 2018
29

Web Crawling e Scraping - TDC

Scrapy é um framework escrito em Python voltado para web crawling e web scraping. Esta ferramenta facilita a construção de spiders capazes de automatizar a indexação de páginas da web e realizar a extração de conteúdo através da raspagem de dados. Scrapy Cloud é uma plataforma criada e mantida pela Scrapinghub voltada para a execução de web crawlers em nuvem. Ao subir o projeto para o scrapy cloud, é possível agendar, acompanhar e gerenciar a execução das spiders. No Love Mondays, utilizamos estas tecnologias para reunir vagas de emprego de diversas fontes. Então, ao buscar uma vaga, nosso usuário tem acesso a um volumoso banco de informações sem a necessidade de visitar diferentes sites.

Links úteis:
Exemplo Trilhas TDC: https://github.com/anacls/scrapy-study/blob/master/tdc_examples/scrapy_study/spiders/trilhas_tdc.py

ScrapingHub API Demo: https://github.com/lidimayra/scrapinghub-api-demo

Todos os exemplos utilizados na palestra: https://github.com/anacls/scrapy-study/tree/master/tdc_examples

Para saber mais (Scrapy):
Site oficial - https://scrapy.org
Github - https://github.com/scrapy/scrapy
Documentação - https://doc.scrapy.org/en/latest/intro/tutorial.html

Para saber mais (ScrapingHub):
Site oficial - https://scrapinghub.com/
Github - https://github.com/scrapinghub/
Blog - https://blog.scrapinghub.com

Ana Carolina

July 21, 2018
Tweet

Transcript

  1. pen4education Trilha Python – Web crawling e scraping com Scrapy

    e Scrapy Cloud Ana Carolina Lopes de Souza Back-end Developer Love Mondays Lidiane Mayra Taquehara Back-end Developer Love Mondays
  2. pen4education Ana Carolina • Estudante de Análise e Desenvolvimento de

    Sistemas – FATEC Jundiaí. • Back-end Developer na Love Mondays. • Contato: https://about.me/anacls
  3. pen4education Lidiane Taquehara • Tecnóloga em Análise e Desenvolvimento de

    Sistemas pela FATEC Jundiaí. • Back-end Developer na Love Mondays. • Contato: about.me/lidimayra
  4. pen4education Entendendo conceitos • Crawlers "Robôs" (bots ou spiders) usados

    para encontrar e indexar páginas de um site. Ex: Googlebot
  5. pen4education Scrapy • Framework escrito em Python voltado para web

    scraping e web crawling. • Usado para acessar sites e extrair dados estruturados das páginas.
  6. pen4education Scrapy • Para iniciar um projeto scrapy: scrapy startproject

    <nome_do_projeto> • Escrever spider • Executar spider: scrapy crawl <nome_da_spider>
  7. pen4education Dissecando uma Spider Define um nome para a spider

    Define a(s) URL de início Método parse, onde extraímos
  8. pen4education Trilhas TDC • O que vamos extrair? • Dia

    • Título da trilha • Subtítulo da trilha • Descrição da trilha • Link da trilha http://www.thedevelopersconference.com.br/tdc/2018/saopaulo/trilhas Disponível no GitHub:
  9. pen4education Scrapy Cloud • Execução de web crawling em nuvem

    • Os dados são armazenados em um banco de dados em alta disponibilidade
  10. pen4education Deploy • Pode ser feito com uma única linha

    de comando (ou o clique de um botão, no caso do Portia) • Sem preocupação com servidores!!
  11. pen4education Utilização dos dados • Possibilidades: • Download (CSV, JSON,

    JSON Lines, XML) • Publicação como um dataset público no Scrapinghub • Consumo dos dados através da Scrapy Cloud API
  12. pen4education Scrapy Cloud API • Permite interagir com as spiders

    e os dados coletados. • Endpoints: • app.scrapinghub.com • storage.scrapinghub.com
  13. pen4education Para saber mais (Scrapy) • Site oficial - https://scrapy.org

    • Github - https://github.com/scrapy/scrapy • Documentação -https://doc.scrapy.org/en/latest/intro/tutorial.html
  14. pen4education Para saber mais (Scrapinghub) • Site oficial - https://scrapinghub.com/

    • Github - https://github.com/scrapinghub/ • Blog - https://blog.scrapinghub.com