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

Raspagem de Dados com Python

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →

Raspagem de Dados com Python

Introdução à raspagem de dados, com uma demonstração do framework Scrapy.

Avatar for Thiago Curvelo

Thiago Curvelo

April 27, 2019

Other Decks in Programming

Transcript

  1. Thiago Curvelo • Estudei no IFPB & UFPB • Trabalhei

    no TRT por 12 anos como "faz-tudo developer" • Hoje: Crawling Engineer @ Scrapinghub • tcurvelo
  2. O que é? Extração automatizada dos dados de páginas da

    Web, e sua disponibilização de forma estruturada.
  3. Para que serve? É core para alguns negócios: • comparadores

    de preço • intermediadores de compras • agregadores de emprego Usado em tomada de decisão, em outros: • acompanhar tendências • monitorar marcas • vigiar a concorrência É um troço estratégico!
  4. Mas... isso é legal? • Seu bot deve ser educado!

    • Usar os dados com ética • Se você aceitar termos e condições, respeite! Porém, sempre há um conflito de interesse.
  5. Tá mas… como faz? • um cliente HTTP baixa a

    página • um parser encontra o que dado que você quer • salvar só a informação que interessa
  6. Scrapy • framework para raspagem de dados • open source,

    feito em Python • poderoso! ◦ requisições assíncronas ◦ seletores css e xpath ◦ vazão adaptativa • extensível e configurável ◦ middlewares, pipelines, extensões, signals
  7. Seletores: CSS vs XPath CSS h2 div.classe #item::text ? XPath

    //h2 .//div[@class="classe"] .//*[@id="item"]/text() .//*[@id="item"]/../section
  8. O browser é mais que um cliente HTTP • Baixa

    a página • Baixa outros recursos (css, imagens, js) • Executa JavaScript Inspect Element != View Page Source
  9. Ok... às vezes o esforço não compensa • Splash •

    scrapy-selenium • chromium headless (pyppeteer), em breve…
  10. BAN! • Você tá pegando leve? ◦ Ative o autothrottle

    • Você tá dando muita bandeira que é um bot? ◦ Tente outro user-agent • Se tudo o mais falhar, use um Proxy Crawlera https://scrapinghub.com/crawlera
  11. Links Úteis • Scrapy ◦ https://scrapy.org/ • Tutorial do Scrapy

    em Vídeo: ◦ https://www.youtube.com/watch?v=vkA1cWN4DEc&list=PLZyvi_9gamL-EE3zQJbU5N3nzJcf NeFHU • Scrapinghub: ◦ Site: https://scrapinghub.com/ ◦ Jobs: https://scrapinghub.com/jobs ◦ Crawlera: https://scrapinghub.com/crawlera