O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Raspagem de Dados com Python

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 34 Anúncio

Mais Conteúdo rRelacionado

Semelhante a Raspagem de Dados com Python (20)

Mais recentes (20)

Anúncio

Raspagem de Dados com Python

  1. 1. Raspagem de Dados com Python aka Hello, Scrapy!
  2. 2. Thiago Curvelo ● Estudei no IFPB & UFPB ● Trabalhei no TRT por 12 anos como "faz-tudo developer" ● Hoje: Crawling Engineer @ Scrapinghub ● tcurvelo
  3. 3. We Are Hiring! scrapinghub.com/jobs
  4. 4. Web Scraping
  5. 5. O que é? Extração automatizada dos dados de páginas da Web, e sua disponibilização de forma estruturada.
  6. 6. Quando usar? Quando a informação é pública, mas não existe uma API
  7. 7. 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!
  8. 8. 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.
  9. 9. 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
  10. 10. 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
  11. 11. Mas pera,é Scraper ou Crawler??
  12. 12. Spider!
  13. 13. Anatomia de um Spider
  14. 14. Demo
  15. 15. Seletores: CSS vs XPath CSS h2 div.classe #item::text ? XPath //h2 .//div[@class="classe"] .//*[@id="item"]/text() .//*[@id="item"]/../section
  16. 16. Dúvidas comuns
  17. 17. "Eu vejo o elemento no browser,mas não consigo pegar pelo spider"
  18. 18. O browser é mais que um cliente HTTP ● Baixa a página ● Baixa outros recursos (css, imagens, js) ● Executa JavaScript Inspect Element != View Page Source
  19. 19. "O site que eu quero tem muito JavaScript. Não dá pra usar o Scrapy"
  20. 20. A aba"Network"do browser é sua amiga! ● Procure pela API que o site consome
  21. 21. "Você não tá entendendo.Tem JavaScript para cara...mba!"
  22. 22. Ok...às vezes o esforço não compensa ● Splash ● scrapy-selenium ● chromium headless (pyppeteer), em breve…
  23. 23. "Eu preciso me logar. #comofaz"
  24. 24. "A ação que fiz na página anterior,não está refletindo na atual.Bagunçou foi tudo!"
  25. 25. Cookiejar!
  26. 26. "Eu consigo acessar pelo browser,mas dá erro pelo spider"
  27. 27. 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
  28. 28. 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
  29. 29. Valeu! @tcurvelo curvelo.net

×