Slides

Capturando a web com Scrapy

Description
1. Capturando  a  Web  com  Scrapy   Gabriel  Freitas   2. O  que  é  um  web  crawler?     3. O  que  é  um  web  crawler?     ã   “Web…
Categories
Published
of 35
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
Transcript
  • 1. Capturando  a  Web  com  Scrapy   Gabriel  Freitas  
  • 2. O  que  é  um  web  crawler?    
  • 3. O  que  é  um  web  crawler?     •   “Web  crawler  é  um  programa  de  computador   que  navega  pela  World  Wide  Web  de  uma   forma  metódica  e  automaAzada”hEp:// pt.wikipedia.org/wiki/Web_crawler    
  • 4. Pra  que  serve?  
  • 5. Pra  que  serve?  
  • 6. Estrutura  básica  de  um  web  crawler  
  • 7. Estrutura  básica  de  um  web  crawler   •  Construção  de  requisições  HTTP    
  • 8. Estrutura  básica  de  um  web  crawler   •  Construção  de  requisições  HTTP   •   Tratamento  da  resposta   – Composição  de  objetos   – Composição  de  novas  requisições    
  • 9. Estrutura  básica  de  um  web  crawler   •  Construção  de  requisições  HTTP   •   Tratamento  da  resposta   – Composição  de  objetos   – Composição  de  novas  requisições   •  Persistência  de  dados    
  • 10. Crawleando  em  Python   •  Tecnologias  comuns:  
  • 11. Crawleando  em  Python   •  Tecnologias  comuns:   – urllib,  hEplib2,  requests    
  • 12. Crawleando  em  Python   •  Tecnologias  comuns:   – urllib,  hEplib2,  requests   – beauAfulsoup  ou  lxml  
  • 13. Crawleando  em  Python   •  Tecnologias  comuns:   – urllib,  hEplib2,  requests   – beauAfulsoup  ou  lxml   – json,  mysql,  xml,  csv,  sqlite,  etc.  
  • 14. Mas  qual  o  problema?    
  • 15. Mas  qual  o  problema?     •   Ter  que  resolver  tudo  na  mão:   – Se  Aver  autenAcação?   – Trabalhar  com  sessão,  cookie...     – HTML  mal  formatado   – Requisições  Simultâneas   – Aumento  de  pontos  de  falha   – Etc..  
  • 16. Solução?  
  • 17. Solução?  
  • 18. Instalando…   •  $  pip  install  Scrapy  
  • 19. Escolhendo  o  alvo..  
  • 20. Criando  o  projeto   •  $  scrapy  startproject  <nome  projeto>  
  • 21. Localizando  os  dados  
  • 22. Localizando  os  dados   •  hEp://www.ufc.com/fighter  
  • 23. hEp://www.ufc.com/fighter/ronda-­‐ Rousey  
  • 24. hEp://www.ufc.com/fighter/ronda-­‐ Rousey  
  • 25. Definindo  os  itens   •  Itens  são  os  campos  que  você  irá  pegar  
  • 26. Definindo  os  itens  
  • 27. IdenAficando  os  Xpaths  
  • 28. Testando  Xpaths   •  $  scrapy  shell   hEp://www.ufc.com/fighter/ronda-­‐Rousey   – $  sel.xpath('//div[@id="fighter-­‐breadcrumb"]/ span/h1/text()').extract()   – [u'Ronda  Rousey']  
  • 29. Gerando  o  Spider   •  $  scrapy  genspider  ufc  hEp://ufc.com  
  • 30. Gerando  o  Spider   •  $  scrapy  genspider  ufc  hEp://ufc.com   •  Tipos  de  Spiders:   – basic   – crawl   – csvfeed   – xmlfeed  
  • 31. Definindo  Xpaths  no  Spider  
  • 32. Executando  o  crawler   •  $  scrapy  crawl  ufc  
  • 33. Exportando  os  resultados   •  Em  json   – $  scrapy  crawl  ufc  -­‐o  lutadores.json  -­‐t  json   •  Em  csv   – $    scrapy  crawl  ufc  -­‐o  lutadores.csv  -­‐t  csv   •  Em  xml   – $  scrapy  crawl  ufc  -­‐o  lutadores.xml  -­‐t  xml  
  • 34. Obrigado!   •  Contatos   – gabrielfreitas07@gmail.com   – r.com/gabrielfreitas07  
  • 35. Referências   •  Nataliel  Vasconcelos  –  Python  Beach     •  hEp://pypix.com/python/build-­‐website-­‐crawler-­‐based-­‐ upon-­‐scrapy/   •  hEp://www.slideshare.net/previa/ scrapyfordummies-­‐15277988   •  hEp://www.slideshare.net/TheVirendraRajput/web-­‐ scraping-­‐in-­‐python   •  hEp://www.slideshare.net/obdit/data-­‐philly-­‐scrapy   •  hEp://trumae.blogspot.com.br/2014/01/scrapy-­‐bem-­‐ facinho.html    
  • Search
    Related Search
    We Need Your Support
    Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

    Thanks to everyone for your continued support.

    No, Thanks