Profile
Events
1º Encontro Grupy-Campinas - 2020 - Dextra
Com muito prazer que anunciamos o nosso primeiro encontro de 2020. Dessa vez nos encontraremos na DEXTRA! Vamos participar?
O encontro será no dia 15/02 das 9h às 12h.
Essa é sua oportunidade para apresentar uma palestra. Submeta sua palestra! Apresentações devem ser de 25 minutos, com mais 5 minutos para perguntas.
Qualquer tema relacionado ao ecossistema Python é adequado!
Proposals
Desenvolvendo webcrawlers utilizando Scrapy
Para fazer qualquer tipo de análise de dados é necessário primeiro encontrar e depois extrair esses dados de maneira estruturada. Uma das principais fontes de dados que utilizamos são conteúdos obtidos de páginas web que normalmente não estão organizados de maneira adequada para nossa utilização. Obter e organizar manualmente toda esse informação é uma tarefa impossível!
Nesse tutorial os participantes irão conhecer o Scrapy, framework especializado para desenvolvimento de webcrawlers, desenvolvendo Spiders enfrentando cenários e problemas mais comuns e maneiras de solucioná-los.
Conteúdo Resumido:
- Conceitos básicos de raspagem de dados;
- Arquitetura básica do Scrapy (meu primeiro Spider!);
- Como extrair informações de uma página (seletores XPath e CSS);
- Navegando por uma página sem um navegador;
- Lidando com páginas com JavaScript;
- Boas práticas e evitando ser banido;
- Rodando seus Spiders em produção.
Sobre:
- Duração: 4 horas.
- Configurações de ambiente: Python 3 + Scrapy instalado
- Pré-requisitos: HTML/CSS básico e Python
Extraindo dados da internet usando Scrapy
Nesta palestra irei apresentar as principais características do Scrapy (http://scrapy.readthedocs.io/), um framework open-source que facilita o desenvolvimento de aplicações para navegação e extração de dados estruturados em páginas web, através de exemplos práticos de situações reais que podem ser encontradas (como por exemplo páginas com grande uso de Javascript), além de dicas aprendidas no meu tempo desenvolvendo esse tipo de aplicação.
Introdução a raspagem de dados com Scrapy
Resumo:
Um passo fundamental de qualquer projeto de análise de dados, é a obtenção destes dados e sua estruturação de modo que eles possam ser utilizados mais facilmente por um cientista de dados (ou profissional equivalente). Uma das principais fontes desses dados são páginas da Internet que normalmente não estão organizadas e estruturadas de maneira adequada para nossa utilização.
Obter e organizar manualmente toda essa informação é uma tarefa impossível, por isso aprender a utilizar uma ferramenta como o Scrapy, um framework desenvolvido especialmente para extração de dados, é fundamental para quem deseja trabalhar nessa área.
Os participantes vão aprender nesse tutorial:
O básico para o desenvolvimento de web crawlers simples de maneira.
Método:
Esse é um tutorial mão-na-massa. Após uma breve explicação dos conceitos básicos de raspagem de dados e de Scrapy, os participantes terão até 4 exercícios para resolver individualmente (mas a interação entre os participantes será encorajada), com nível de dificuldade crescente. Os dois primeiros exercícios serão resolvidos com certeza (pois são aplicação dos conceitos básicos do Scrapy), sendo que os dois restantes serão resolvidos dependendo do ritmo dos participantes (mas serão apresentados de qualquer maneira).
Pré-requisitos:
Conhecimentos básicos de Python e HTML/CSS.
Tópicos que serão abordados:
- Conceitos básicos de raspagem de dados;
- Arquitetura básica do Scrapy (meu primeiro Spider!);
- Como extrair informações de uma página (seletores XPath e CSS);
- Navegando por uma página sem um navegador;
- Lidando com páginas com JavaScript;
- Boas práticas e evitando ser banido;
- Rodando seus Spiders em produção.
Testando e monitorando web crawlers
Testes são fundamentais para qualquer software. Eles nos auxiliam durante o desenvolvimento inicial (validando o nosso design), na adição de novas funcionalidades (garantindo que nenhuma outra deixe de funcionar) e na correção de bugs (para evitar que eles não ocorram novamente).
Web crawlers são programas que navegam por páginas da internet e extraem informações estruturadas a partir delas e, como qualquer software, também devem ter seu código testado.
A maior dificuldade que encontramos ao escrever testes para um web crawler é que a maior parte do código depende inteiramente de entradas cujo conteúdo não temos nenhum controle (e que podem se modificar sem nenhum aviso a qualquer momento) tornando os testes muito frágeis e com a possibilidade de quebrarem facilmente (e dependendo da maneira como eles forem escritos, não nos avisando de erros existentes).
Nessa palestra irei discutir um pouco esse problema, apresentando algumas soluções existentes e possibilidades para garantirmos que qualquer problema em nosso web crawler seja identificado o mais rapidamente possível. O framework Scrapy e a extensão Spidermon serão utilizados nos exemplos, mas os conceitos podem ser usados para web crawlers desenvolvidos com qualquer outra tecnologia.
Tópicos abordados:
- Conceitos básicos de web crawling
- Tipos de testes possíveis e suas limitações
- Validação de resultados com esquemas de dados (JSON schema, schematics, etc)
- Monitoramento constante e notificações
Público-alvo: desenvolvedores, cientistas de dados ou qualquer pessoa (com conhecimentos básicos de programação) que desenvolva, mantenha ou tenha interesse na utilização de web crawlers.