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

Introdução ao Web Scraping

Introdução ao Web Scraping

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.