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

Introdução ao Web Scraping

Introdução ao Web Scraping

Avatar for Fábio M. Theophilo

Fábio M. Theophilo

August 24, 2016
Tweet

More Decks by Fábio M. Theophilo

Other Decks in Programming

Transcript

  1. Quem sou eu? • Aluno do 8º semestre de Ciência

    da Computação pela Universidade Fortaleza (Unifor) • Desenvolvedor desde 2006 (quando tinha 12 anos) • Membro do PUG-CE (Python User Groups) e organizador/fundador do Unidev • Entusiasta de software livre e segurança da informação Jon Maddog Hall
  2. “ Web Scraping é uma técnica de ciência da computação

    baseada na extração de informação de websites. ” Wikipedia
  3. Sobre o Scrapy Lançamento: 26 de junho de 2008 Última

    versão estável: 1.1 (visto em 2016) Linguagem: Python Sistemas Operacionais: Linux/Mac/Windows Licença: BSD Site: scrapy.org
  4. Items • Representação de uma informação estruturada • É uma

    estrutura dict-like • Equivale ao Model de arquiteturas MVC
  5. XPATH Query Language voltada para uso em XMLs. Apesar disso,

    funciona muito bem em documentos HTML.
  6. XPATH - Getting Started nodename Seleciona todos aqueles nodenames /

    Seleciona à partir do nó raiz // Seleciona todos os nós no documento que casem com a seleção, independente de onde estejam localizados . Seleciona o nó corrente .. Seleciona o nó pai @ Seleciona atributos Expressão Descrição
  7. XPATH - Getting Started /bookstore/book[1] Seleciona o primeiro elemento book

    filho do elemento bookstore /bookstore/book[last()] Seleciona o último elemento book filho do elemento bookstore /bookstore/book[position()<3] Seleciona os 2 primeiros elementos “book” filho do elemento bookstore //title[@lang] Seleciona qualquer elemento title que possui atributo lang //title[@lang='en'] Seleciona qualquer elemento title que possui atributo “lang” com valor “en” /bookstore/book[price>35.00] Seleciona todos os elementos book com atributo price com valor maior a 35 Expressão Descrição
  8. Limite o número de requisições Lembre-se: realizar requisições demais por

    segundo pode levantar a suspeita por parte do sites. Inúmeros sites usam dessa informação para bloquear o crawlers.