SlideShare uma empresa Scribd logo
1 de 40
Baixar para ler offline
Web ScrapingWeb Scraping: a arte de automatizar a recuperação de: a arte de automatizar a recuperação de
informação nainformação na WebWeb
Prof. Alex Dias Camargo
alexcamargo@ifsul.edu.br
TCHELINUX 2019
UNIVERSIDADE FEDERAL DO PAMPA
CAMPUS BAGÉ
CICLO DE PALESTRAS
2
I. Agenda
Esta palestra está organizada da seguinte maneira:
 Apresentação
 Objetivos
 Ferramentas
 Componentes de uma página web
 O que é Web scraping?
 Scraping na prática: bage.rs.gov.br
 Bônus: web scraping completo em 4 minutos (GUI mode)
 Onde estudar
 Agradecimentos
 Referências
TCHELINUX - 2019
3
II. Apresentação
Formação acadêmica:
 Bacharel em Sistemas de Informação (URCAMP, 2011)
TCC: Web sistema integrado a uma rede social para
academias de ginástica
Orientador: Prof. Abner Guedes
 Especialista em Sistemas Distribuídos com Ênfase em
Banco de Dados (UNIPAMPA, 2013)
TCC: Interligando bases de dados do sistema Controle de
Marcas e Sinais utilizando o MySQL Cluster
Orientador: Prof. Érico Amaral
Coorientador: Prof. Rafael Bastos (IDEAU)
TCHELINUX - 2019
4
II. Apresentação
Formação acadêmica:
 Mestre em Engenharia de Computação (FURG, 2017)
Dissertação: EN-MUTATE: predição do impacto de mutações
pontuais em proteínas utilizando Ensemble Learning
Orientadora: Profa. Karina Machado
Coorientador: Prof. Adriano Werhli
 Doutorado (iniciado) em Ciência da Computação (UFPEL)
Tese: Em definição
Orientador: Aluno especial
TCHELINUX - 2019
5
II. Apresentação
Experiência acadêmica:
 Professor (Ensino Técnico)
Local: Capacitar Escola Técnica
Disciplinas: Banco de Dados e Análise de Sistemas
 Professor (Ensino Superior)
Local: Universidade Federal do Pampa - UNIPAMPA
Disciplinas: Algoritmos e Programação, Laboratório
Programação I e Laboratório de Programação II
 Professor (Ensino Básico, Técnico e Tecnológico)
Local: IFSUL Câmpus Bagé
Disciplinas: Programação para Web II, Arquitetura de
Computadores, Qualidade de Software, Desenvolvimento de
Software, Informática (Eng. Agronômica)
TCHELINUX - 2019
6
II. Apresentação
Projetos acadêmicos:
 Algo+: um portal para o apoio ao ensino de Algoritmos
Universidade: UNIPAMPA
Área: Informática na educação
 Bioinformática Estrutural de Proteínas: modelos,
algoritmos e aplicações biotecnológicas
Universidade: FURG/UFMG/UFPB
Área: Bioinformática
 Unihacker.Club: Programa Universidade Hacker
Universidade: UNIPAMPA
Área: Segurança da informação
TCHELINUX - 2019
7
II. Apresentação
Periódicos acadêmicos:
 Revisor do periódico ICCEEg (ISSN 2236-0093)
Universidade: FURG
Área: Multidisciplinar
 Revisor do periódico CCEI (ISSN 2356-6635)
Universidade: URCAMP
Área: Multidisciplinar
TCHELINUX - 2019
8
II. Apresentação
Histórico Tchelinux:
 Software Livre e Bioinformática: do DNA ao
medicamento (2018)
Local: FURG
Área: Bioinformática
TCHELINUX - 2019
9
III. Objetivos
Dentre os objetivos, podem ser destacados:
 Compreender os conceitos e aplicações do Web Scraping.
 Explorar tecnologias no contexto Python/Linux.
 Motivar novos cientistas de dados (e palestrantes).
TCHELINUX - 2019
10
1. Os componentes de uma página web
TCHELINUX - 2019
11
1. Os componentes de uma página web
Quando uma página na Internet é visitada, o navegador faz
uma solicitação à um servidor web. Essa solicitação é chamada de
GET, pois são recebidos arquivos do servidor.
 HTML: contém o conteúdo principal da página.
 CSS: adiciona estilos para que a página fique customizada.
 JS: arquivos JavaScript adicionam interatividade à página.
 Imagens: formatos de imagem, tais como JPG e PNG.
TCHELINUX - 2019
12
1. Os componentes de uma página web
TCHELINUX - 2019
Figura. Camadas do desenvolvimento web.
13
1. Os componentes de uma página web
TCHELINUX - 2019
Figura. Estrutura básica do HTML5.
14
1. Os componentes de uma página web
TCHELINUX - 2019
Figura. Arquitetura web padrão.
15
2. O que é Web Scraping?
TCHELINUX - 2019
16
2. O que é Web Scraping?
Web Scraping é um método de "raspagem" de dados de sites
que usa scripts para obter as informações necessárias, simulando
um comportamento "humano".
 Um uso popular do scraping na web é procurar ofertas online,
como passagens aéreas, shows, etc.
TCHELINUX - 2019
17
2. O que é Web Scraping?
TCHELINUX - 2019
Figura. Visão geral de um web scraping.
18
2. Web Scraping
TCHELINUX - 2019
Figura. Visão geral de um web scraping.
19
2. O que é Web Scraping?
TCHELINUX - 2019
Figura. Visão geral de um web scraping.
20
2. Web Scraping
TCHELINUX - 2019
Figura. Web Scraping versus Web Crawling.
21
2. Web Scraping
TCHELINUX - 2019
Figura. Aplicações do web scraping.
22
2. O que é Web Scraping?
Web Scraping é um método de "raspagem" de dados de sites
que usa scripts para obter as informações necessárias, simulando
um comportamento "humano".
 Um uso popular do scraping na web é procurar ofertas online,
como passagens aéreas, shows, etc.
 Existem empresas especializadas no ramo?
TCHELINUX - 2019
23
2. O que é Web Scraping?
TCHELINUX - 2019
Figura. Empresas de web scraping.
24
2. O que é Web Scraping?
TCHELINUX - 2019
Figura. Empresas de web scraping.
25
2. O que é Web Scraping?
Web Scraping é um método de "raspagem" de dados de sites
que usa scripts para obter as informações necessárias, simulando
um comportamento "humano".
 Um uso popular do scraping na web é procurar ofertas online,
como passagens aéreas, shows, etc.
 Existem empresas especializadas no ramo?
 Uma alternativa para o web scraping é usar uma API, se
houver alguma disponível. Ex.: Twitter, Instagram, Facebook,
etc.
TCHELINUX - 2019
26
2. O que é Web Scraping?
TCHELINUX - 2019
Figura. APIs para extração de dados.
27
2. O que é Web Scraping?
TCHELINUX - 2019
Figura. APIs para extração de dados.
28
2. O que é Web Scraping?
Web Scraping é um método de "raspagem" de dados de sites
que usa scripts para obter as informações necessárias, simulando
um comportamento "humano".
 Um uso popular do scraping na web é procurar ofertas online,
como passagens aéreas, shows, etc.
 Existem empresas especializadas no ramo?
 Uma alternativa para o web scraping é usar uma API, se
houver alguma disponível. Ex.: Twitter, Instagram, Facebook,
etc.
 "Be polite" (seja educado): um scraping pode sobrecarregar
um servidor, principalmente, se o script estiver fazendo uma
grande quantidade de solicitações. Respeite o robots.txt!
TCHELINUX - 2019
29
2. Web Scraping
TCHELINUX - 2019
Figura. Muitas requisições "simultâneas".
30
2. Web Scraping
TCHELINUX - 2019
Figura. Exemplo de um robots.txt.
31
3. Ferramentas
TCHELINUX - 2019
32
3. Ferramentas
KIT DO WEB SCRAPER:
 GitHub do projeto:
https://github.com/alexcamargoweb/python-webscraping
 Linux Mint:
https://linuxmint.com/download.php
 Python 3:
https://www.python.org/downloads/
 Requests:
https://pypi.org/project/requests/
 URLlib:
https://pypi.org/project/urllib3/
 BeautifulSoup:
https://pypi.org/project/beautifulsoup4/
TCHELINUX - 2019
33
3. Ferramentas
KIT DO WEB SCRAPER:
 Selenium:
https://pypi.org/project/selenium/
 Firefox geckodriver:
https://github.com/mozilla/geckodriver/releases/
 Selenium IDE (Firefox extension):
https://addons.mozilla.org/pt-BR/firefox/addon/selenium-ide/
TCHELINUX - 2019
34
4. Scraping na prática: bage.rs.gov.br
TCHELINUX - 2019
35
4. Scraping na prática: bage.rs.gov.br
TCHELINUX - 2019
Link. https://www.bage.rs.gov.br
36
5. Bônus: Web scraping completo em 4
minutos (GUI mode)
TCHELINUX - 2019
37
5. Bônus: Web scraping completo em 4
minutos (GUI mode)
Demonstração...
TCHELINUX - 2019
38
IV. Onde estudar
Se interessou pelo assunto? :)
 Learn Web Scraping with Python from Scratch (15.851 alunos)
https://www.udemy.com/course/web-scraping-python-tutorial/
 Anotações e scripts de web scraping, screen scraping, etc
https://github.com/ferreiraapfernanda/web-scraping
 Python Selenium WebDriver
https://www.youtube.com/playlist?list=PLUY1lsOTtPeJNBuSweX
S9pcSKbP4mr32S
 MITCHELL, Ryan. Web Scraping with Python: Collecting
More Data from the Modern Web. "O'Reilly, Inc.", 2018.
https://www.amazon.com/Web-Scraping-Python-Collecting-Mod
ern/dp/1491910291
TCHELINUX - 2019
39
Agradecimentos
Obrigado pela sua participação! :)
 Acadêmicos do curso de Engenharia de Computação
 Grupo de usuários de Software Livre Tchelinux
 Toda honra e glória ao Senhor Jesus!
Abraços, Prof. Alex Dias Camargo
Unipampa – Câmpus Bagé
05 de Outubro de 2019
TCHELINUX - 2019
40
Referências básicas
https://likegeeks.com/python-web-scraping/
https://codeburst.io/web-scraping-101-with-python-beautiful-soup-
bb617be1f486
https://imasters.com.br/back-end/aprendendo-sobre-web-scraping-
em-python-utilizando-beautifulsoup
https://goomore.com/blog/web-scraping-python/
https://github.com/REMitchell/python-scraping
https://medium.com/data-hackers/como-fazer-web-scraping-em-
python-23c9d465a37f
TCHELINUX - 2019

Mais conteúdo relacionado

Mais procurados

Aula 02 história da administração e revolução industrial
Aula 02   história da administração e revolução industrialAula 02   história da administração e revolução industrial
Aula 02 história da administração e revolução industrialalemartins10
 
AULA 08 - CÂNCER DE COLO DE ÚTERO E MAMA.pptx
AULA 08 - CÂNCER DE COLO DE ÚTERO E MAMA.pptxAULA 08 - CÂNCER DE COLO DE ÚTERO E MAMA.pptx
AULA 08 - CÂNCER DE COLO DE ÚTERO E MAMA.pptxVanessaAlvesDeSouza4
 
Outubro Rosa - Câncer de Mama
Outubro Rosa - Câncer de MamaOutubro Rosa - Câncer de Mama
Outubro Rosa - Câncer de MamaCarlos Lima
 
Entendendo o câncer colorretal
Entendendo o câncer colorretalEntendendo o câncer colorretal
Entendendo o câncer colorretalOncoguia
 
Câncer de mama - Palestra para comunidade
Câncer de mama -  Palestra para comunidadeCâncer de mama -  Palestra para comunidade
Câncer de mama - Palestra para comunidadeMaylu Souza
 
Folder salvar-vidas-cancer-mama-2014
Folder salvar-vidas-cancer-mama-2014Folder salvar-vidas-cancer-mama-2014
Folder salvar-vidas-cancer-mama-2014Farmacêutico Digital
 
eBook - Câncer de mama
eBook - Câncer de mamaeBook - Câncer de mama
eBook - Câncer de mamaGnTech
 
Tecnologias aplicadas a logística
Tecnologias aplicadas a logísticaTecnologias aplicadas a logística
Tecnologias aplicadas a logísticaSandro Souza
 
Aula 9.1 administração por objetivos
Aula 9.1   administração por objetivosAula 9.1   administração por objetivos
Aula 9.1 administração por objetivosPMY TECNOLOGIA LTDA
 
DOENÇAS CAUSADAS POR MOSCAS
DOENÇAS CAUSADAS POR MOSCASDOENÇAS CAUSADAS POR MOSCAS
DOENÇAS CAUSADAS POR MOSCASBrenda Oliveira
 
Teoria Classica Power Point Ii
Teoria Classica Power Point IiTeoria Classica Power Point Ii
Teoria Classica Power Point Iilupajero
 

Mais procurados (20)

Sarampo e catapora
Sarampo e cataporaSarampo e catapora
Sarampo e catapora
 
O modelo japonês de administração
O modelo japonês de administraçãoO modelo japonês de administração
O modelo japonês de administração
 
Aula 02 história da administração e revolução industrial
Aula 02   história da administração e revolução industrialAula 02   história da administração e revolução industrial
Aula 02 história da administração e revolução industrial
 
AULA 08 - CÂNCER DE COLO DE ÚTERO E MAMA.pptx
AULA 08 - CÂNCER DE COLO DE ÚTERO E MAMA.pptxAULA 08 - CÂNCER DE COLO DE ÚTERO E MAMA.pptx
AULA 08 - CÂNCER DE COLO DE ÚTERO E MAMA.pptx
 
Outubro Rosa - Câncer de Mama
Outubro Rosa - Câncer de MamaOutubro Rosa - Câncer de Mama
Outubro Rosa - Câncer de Mama
 
Entendendo o câncer colorretal
Entendendo o câncer colorretalEntendendo o câncer colorretal
Entendendo o câncer colorretal
 
Câncer de mama - Palestra para comunidade
Câncer de mama -  Palestra para comunidadeCâncer de mama -  Palestra para comunidade
Câncer de mama - Palestra para comunidade
 
Folder salvar-vidas-cancer-mama-2014
Folder salvar-vidas-cancer-mama-2014Folder salvar-vidas-cancer-mama-2014
Folder salvar-vidas-cancer-mama-2014
 
eBook - Câncer de mama
eBook - Câncer de mamaeBook - Câncer de mama
eBook - Câncer de mama
 
O Agronegócio Brasileiro
O Agronegócio BrasileiroO Agronegócio Brasileiro
O Agronegócio Brasileiro
 
Cadeia produtiva da soja
Cadeia produtiva da sojaCadeia produtiva da soja
Cadeia produtiva da soja
 
Tecnologias da Informação e comunicação
Tecnologias da Informação e comunicaçãoTecnologias da Informação e comunicação
Tecnologias da Informação e comunicação
 
Tuberculose
Tuberculose  Tuberculose
Tuberculose
 
História da morte prematura
História da morte prematuraHistória da morte prematura
História da morte prematura
 
Protozoários
ProtozoáriosProtozoários
Protozoários
 
Organograma
OrganogramaOrganograma
Organograma
 
Tecnologias aplicadas a logística
Tecnologias aplicadas a logísticaTecnologias aplicadas a logística
Tecnologias aplicadas a logística
 
Aula 9.1 administração por objetivos
Aula 9.1   administração por objetivosAula 9.1   administração por objetivos
Aula 9.1 administração por objetivos
 
DOENÇAS CAUSADAS POR MOSCAS
DOENÇAS CAUSADAS POR MOSCASDOENÇAS CAUSADAS POR MOSCAS
DOENÇAS CAUSADAS POR MOSCAS
 
Teoria Classica Power Point Ii
Teoria Classica Power Point IiTeoria Classica Power Point Ii
Teoria Classica Power Point Ii
 

Semelhante a TCHELINUX 2019 - Web Scraping: a arte de automatizar a recuperação de informação na Web

SACOMP 2019 - Web Scraping: coletando dados como um artesão
SACOMP 2019 - Web Scraping: coletando dados como um artesãoSACOMP 2019 - Web Scraping: coletando dados como um artesão
SACOMP 2019 - Web Scraping: coletando dados como um artesãoAlex Camargo
 
SACI 2019 - Introdução prática ao Web Scraping com Python
SACI 2019 - Introdução prática ao Web Scraping com PythonSACI 2019 - Introdução prática ao Web Scraping com Python
SACI 2019 - Introdução prática ao Web Scraping com PythonAlex Camargo
 
Democratização da informação: aspectos sociais e políticos da web 2.0 e das r...
Democratização da informação: aspectos sociais e políticos da web 2.0 e das r...Democratização da informação: aspectos sociais e políticos da web 2.0 e das r...
Democratização da informação: aspectos sociais e políticos da web 2.0 e das r...UFSC
 
Mobile: web & aplicativos [dicas práticas]
Mobile: web & aplicativos [dicas práticas]Mobile: web & aplicativos [dicas práticas]
Mobile: web & aplicativos [dicas práticas]Ana Laura Gomes
 
"Evolution of Computing, IoT & Cloud Computing"
"Evolution of Computing, IoT & Cloud Computing""Evolution of Computing, IoT & Cloud Computing"
"Evolution of Computing, IoT & Cloud Computing"EUBrasilCloudFORUM .
 
PI III - IMPLEMENTACAO DE PROJETOS DE TI
PI III - IMPLEMENTACAO DE PROJETOS DE TIPI III - IMPLEMENTACAO DE PROJETOS DE TI
PI III - IMPLEMENTACAO DE PROJETOS DE TINilo Basílio
 
Monografia Computação na Névoa
Monografia Computação na NévoaMonografia Computação na Névoa
Monografia Computação na NévoaBruno Oliveira
 
Desenvolvimento Web multi-devices com Google Web Starter Kit
Desenvolvimento Web multi-devices com Google Web Starter KitDesenvolvimento Web multi-devices com Google Web Starter Kit
Desenvolvimento Web multi-devices com Google Web Starter KitRodrigo Antinarelli
 
workshop Cultura online @ CM Santarém [Versão 2]
workshop Cultura online @ CM Santarém [Versão  2]workshop Cultura online @ CM Santarém [Versão  2]
workshop Cultura online @ CM Santarém [Versão 2]Serpentina
 
Projeto de pesquisa sobre web semântica - a web que aprende
Projeto de pesquisa sobre web semântica - a web que aprendeProjeto de pesquisa sobre web semântica - a web que aprende
Projeto de pesquisa sobre web semântica - a web que aprendeAlexandre Grolla
 
Relatório de análise da plataforma cultura digital
Relatório de análise da plataforma cultura digitalRelatório de análise da plataforma cultura digital
Relatório de análise da plataforma cultura digitalGabriela Agustini
 
Visão Geral De Desenvolvimento Web Sre 2012
Visão Geral De Desenvolvimento Web   Sre 2012Visão Geral De Desenvolvimento Web   Sre 2012
Visão Geral De Desenvolvimento Web Sre 2012Carlos Casalicchio
 
A Trajetória da Internet no Brasil
A Trajetória da Internet no BrasilA Trajetória da Internet no Brasil
A Trajetória da Internet no BrasilMarcelo Sávio
 
Informação e persuasão na web paulo serra e joão canavilhas
Informação e persuasão na web   paulo serra e joão canavilhasInformação e persuasão na web   paulo serra e joão canavilhas
Informação e persuasão na web paulo serra e joão canavilhasLuara Schamó
 
PROJETO INTEGRADO MULTIDISCIPLINAR IV - PIM IV
PROJETO INTEGRADO MULTIDISCIPLINAR IV - PIM IVPROJETO INTEGRADO MULTIDISCIPLINAR IV - PIM IV
PROJETO INTEGRADO MULTIDISCIPLINAR IV - PIM IVHenry Jackman
 
Redação acadêmica para Web 2.0
Redação acadêmica para Web 2.0Redação acadêmica para Web 2.0
Redação acadêmica para Web 2.0cafy
 
Web 2.0 - Uma revisão da Internet
Web 2.0 - Uma revisão da InternetWeb 2.0 - Uma revisão da Internet
Web 2.0 - Uma revisão da InternetRommel Carneiro
 

Semelhante a TCHELINUX 2019 - Web Scraping: a arte de automatizar a recuperação de informação na Web (20)

SACOMP 2019 - Web Scraping: coletando dados como um artesão
SACOMP 2019 - Web Scraping: coletando dados como um artesãoSACOMP 2019 - Web Scraping: coletando dados como um artesão
SACOMP 2019 - Web Scraping: coletando dados como um artesão
 
SACI 2019 - Introdução prática ao Web Scraping com Python
SACI 2019 - Introdução prática ao Web Scraping com PythonSACI 2019 - Introdução prática ao Web Scraping com Python
SACI 2019 - Introdução prática ao Web Scraping com Python
 
Democratização da informação: aspectos sociais e políticos da web 2.0 e das r...
Democratização da informação: aspectos sociais e políticos da web 2.0 e das r...Democratização da informação: aspectos sociais e políticos da web 2.0 e das r...
Democratização da informação: aspectos sociais e políticos da web 2.0 e das r...
 
Mobile: web & aplicativos [dicas práticas]
Mobile: web & aplicativos [dicas práticas]Mobile: web & aplicativos [dicas práticas]
Mobile: web & aplicativos [dicas práticas]
 
Pim iv
Pim ivPim iv
Pim iv
 
"Evolution of Computing, IoT & Cloud Computing"
"Evolution of Computing, IoT & Cloud Computing""Evolution of Computing, IoT & Cloud Computing"
"Evolution of Computing, IoT & Cloud Computing"
 
PI III - IMPLEMENTACAO DE PROJETOS DE TI
PI III - IMPLEMENTACAO DE PROJETOS DE TIPI III - IMPLEMENTACAO DE PROJETOS DE TI
PI III - IMPLEMENTACAO DE PROJETOS DE TI
 
Monografia Computação na Névoa
Monografia Computação na NévoaMonografia Computação na Névoa
Monografia Computação na Névoa
 
Desenvolvimento Web multi-devices com Google Web Starter Kit
Desenvolvimento Web multi-devices com Google Web Starter KitDesenvolvimento Web multi-devices com Google Web Starter Kit
Desenvolvimento Web multi-devices com Google Web Starter Kit
 
workshop Cultura online @ CM Santarém [Versão 2]
workshop Cultura online @ CM Santarém [Versão  2]workshop Cultura online @ CM Santarém [Versão  2]
workshop Cultura online @ CM Santarém [Versão 2]
 
Literacia digital e web social
Literacia digital e web socialLiteracia digital e web social
Literacia digital e web social
 
Projeto de pesquisa sobre web semântica - a web que aprende
Projeto de pesquisa sobre web semântica - a web que aprendeProjeto de pesquisa sobre web semântica - a web que aprende
Projeto de pesquisa sobre web semântica - a web que aprende
 
Relatório de análise da plataforma cultura digital
Relatório de análise da plataforma cultura digitalRelatório de análise da plataforma cultura digital
Relatório de análise da plataforma cultura digital
 
Visão Geral De Desenvolvimento Web Sre 2012
Visão Geral De Desenvolvimento Web   Sre 2012Visão Geral De Desenvolvimento Web   Sre 2012
Visão Geral De Desenvolvimento Web Sre 2012
 
A Trajetória da Internet no Brasil
A Trajetória da Internet no BrasilA Trajetória da Internet no Brasil
A Trajetória da Internet no Brasil
 
Informação e persuasão na web paulo serra e joão canavilhas
Informação e persuasão na web   paulo serra e joão canavilhasInformação e persuasão na web   paulo serra e joão canavilhas
Informação e persuasão na web paulo serra e joão canavilhas
 
PROJETO INTEGRADO MULTIDISCIPLINAR IV - PIM IV
PROJETO INTEGRADO MULTIDISCIPLINAR IV - PIM IVPROJETO INTEGRADO MULTIDISCIPLINAR IV - PIM IV
PROJETO INTEGRADO MULTIDISCIPLINAR IV - PIM IV
 
Redacao academica para Web 2.0
Redacao academica para Web 2.0Redacao academica para Web 2.0
Redacao academica para Web 2.0
 
Redação acadêmica para Web 2.0
Redação acadêmica para Web 2.0Redação acadêmica para Web 2.0
Redação acadêmica para Web 2.0
 
Web 2.0 - Uma revisão da Internet
Web 2.0 - Uma revisão da InternetWeb 2.0 - Uma revisão da Internet
Web 2.0 - Uma revisão da Internet
 

Mais de Alex Camargo

Escola Bíblica - Eclesiologia
Escola Bíblica - EclesiologiaEscola Bíblica - Eclesiologia
Escola Bíblica - EclesiologiaAlex Camargo
 
Escola Bíblica - Demonologia
Escola Bíblica - DemonologiaEscola Bíblica - Demonologia
Escola Bíblica - DemonologiaAlex Camargo
 
Python para finanças: explorando dados financeiros
Python para finanças: explorando dados financeirosPython para finanças: explorando dados financeiros
Python para finanças: explorando dados financeirosAlex Camargo
 
A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?Alex Camargo
 
IA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínasIA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínasAlex Camargo
 
Introdução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurançaIntrodução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurançaAlex Camargo
 
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!Alex Camargo
 
Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)Alex Camargo
 
Empatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom SamaritanoEmpatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom SamaritanoAlex Camargo
 
Alta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem praticaAlta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem praticaAlex Camargo
 
Bioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidadeBioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidadeAlex Camargo
 
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mãoInteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mãoAlex Camargo
 
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)Alex Camargo
 
Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...Alex Camargo
 
Fake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigaçãoFake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigaçãoAlex Camargo
 
PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020Alex Camargo
 
Ia versus covid 19 - alex
Ia versus covid 19 - alexIa versus covid 19 - alex
Ia versus covid 19 - alexAlex Camargo
 
2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial Intelligence2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial IntelligenceAlex Camargo
 
Aula 5 - Considerações finais
Aula 5 - Considerações finaisAula 5 - Considerações finais
Aula 5 - Considerações finaisAlex Camargo
 
Aula 04 - Injeção de código (Cross-Site Scripting)
Aula 04 - Injeção de código (Cross-Site Scripting)Aula 04 - Injeção de código (Cross-Site Scripting)
Aula 04 - Injeção de código (Cross-Site Scripting)Alex Camargo
 

Mais de Alex Camargo (20)

Escola Bíblica - Eclesiologia
Escola Bíblica - EclesiologiaEscola Bíblica - Eclesiologia
Escola Bíblica - Eclesiologia
 
Escola Bíblica - Demonologia
Escola Bíblica - DemonologiaEscola Bíblica - Demonologia
Escola Bíblica - Demonologia
 
Python para finanças: explorando dados financeiros
Python para finanças: explorando dados financeirosPython para finanças: explorando dados financeiros
Python para finanças: explorando dados financeiros
 
A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?
 
IA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínasIA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínas
 
Introdução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurançaIntrodução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurança
 
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!
 
Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)
 
Empatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom SamaritanoEmpatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom Samaritano
 
Alta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem praticaAlta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem pratica
 
Bioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidadeBioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidade
 
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mãoInteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mão
 
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
 
Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...
 
Fake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigaçãoFake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigação
 
PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020
 
Ia versus covid 19 - alex
Ia versus covid 19 - alexIa versus covid 19 - alex
Ia versus covid 19 - alex
 
2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial Intelligence2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial Intelligence
 
Aula 5 - Considerações finais
Aula 5 - Considerações finaisAula 5 - Considerações finais
Aula 5 - Considerações finais
 
Aula 04 - Injeção de código (Cross-Site Scripting)
Aula 04 - Injeção de código (Cross-Site Scripting)Aula 04 - Injeção de código (Cross-Site Scripting)
Aula 04 - Injeção de código (Cross-Site Scripting)
 

TCHELINUX 2019 - Web Scraping: a arte de automatizar a recuperação de informação na Web

  • 1. Web ScrapingWeb Scraping: a arte de automatizar a recuperação de: a arte de automatizar a recuperação de informação nainformação na WebWeb Prof. Alex Dias Camargo alexcamargo@ifsul.edu.br TCHELINUX 2019 UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ CICLO DE PALESTRAS
  • 2. 2 I. Agenda Esta palestra está organizada da seguinte maneira:  Apresentação  Objetivos  Ferramentas  Componentes de uma página web  O que é Web scraping?  Scraping na prática: bage.rs.gov.br  Bônus: web scraping completo em 4 minutos (GUI mode)  Onde estudar  Agradecimentos  Referências TCHELINUX - 2019
  • 3. 3 II. Apresentação Formação acadêmica:  Bacharel em Sistemas de Informação (URCAMP, 2011) TCC: Web sistema integrado a uma rede social para academias de ginástica Orientador: Prof. Abner Guedes  Especialista em Sistemas Distribuídos com Ênfase em Banco de Dados (UNIPAMPA, 2013) TCC: Interligando bases de dados do sistema Controle de Marcas e Sinais utilizando o MySQL Cluster Orientador: Prof. Érico Amaral Coorientador: Prof. Rafael Bastos (IDEAU) TCHELINUX - 2019
  • 4. 4 II. Apresentação Formação acadêmica:  Mestre em Engenharia de Computação (FURG, 2017) Dissertação: EN-MUTATE: predição do impacto de mutações pontuais em proteínas utilizando Ensemble Learning Orientadora: Profa. Karina Machado Coorientador: Prof. Adriano Werhli  Doutorado (iniciado) em Ciência da Computação (UFPEL) Tese: Em definição Orientador: Aluno especial TCHELINUX - 2019
  • 5. 5 II. Apresentação Experiência acadêmica:  Professor (Ensino Técnico) Local: Capacitar Escola Técnica Disciplinas: Banco de Dados e Análise de Sistemas  Professor (Ensino Superior) Local: Universidade Federal do Pampa - UNIPAMPA Disciplinas: Algoritmos e Programação, Laboratório Programação I e Laboratório de Programação II  Professor (Ensino Básico, Técnico e Tecnológico) Local: IFSUL Câmpus Bagé Disciplinas: Programação para Web II, Arquitetura de Computadores, Qualidade de Software, Desenvolvimento de Software, Informática (Eng. Agronômica) TCHELINUX - 2019
  • 6. 6 II. Apresentação Projetos acadêmicos:  Algo+: um portal para o apoio ao ensino de Algoritmos Universidade: UNIPAMPA Área: Informática na educação  Bioinformática Estrutural de Proteínas: modelos, algoritmos e aplicações biotecnológicas Universidade: FURG/UFMG/UFPB Área: Bioinformática  Unihacker.Club: Programa Universidade Hacker Universidade: UNIPAMPA Área: Segurança da informação TCHELINUX - 2019
  • 7. 7 II. Apresentação Periódicos acadêmicos:  Revisor do periódico ICCEEg (ISSN 2236-0093) Universidade: FURG Área: Multidisciplinar  Revisor do periódico CCEI (ISSN 2356-6635) Universidade: URCAMP Área: Multidisciplinar TCHELINUX - 2019
  • 8. 8 II. Apresentação Histórico Tchelinux:  Software Livre e Bioinformática: do DNA ao medicamento (2018) Local: FURG Área: Bioinformática TCHELINUX - 2019
  • 9. 9 III. Objetivos Dentre os objetivos, podem ser destacados:  Compreender os conceitos e aplicações do Web Scraping.  Explorar tecnologias no contexto Python/Linux.  Motivar novos cientistas de dados (e palestrantes). TCHELINUX - 2019
  • 10. 10 1. Os componentes de uma página web TCHELINUX - 2019
  • 11. 11 1. Os componentes de uma página web Quando uma página na Internet é visitada, o navegador faz uma solicitação à um servidor web. Essa solicitação é chamada de GET, pois são recebidos arquivos do servidor.  HTML: contém o conteúdo principal da página.  CSS: adiciona estilos para que a página fique customizada.  JS: arquivos JavaScript adicionam interatividade à página.  Imagens: formatos de imagem, tais como JPG e PNG. TCHELINUX - 2019
  • 12. 12 1. Os componentes de uma página web TCHELINUX - 2019 Figura. Camadas do desenvolvimento web.
  • 13. 13 1. Os componentes de uma página web TCHELINUX - 2019 Figura. Estrutura básica do HTML5.
  • 14. 14 1. Os componentes de uma página web TCHELINUX - 2019 Figura. Arquitetura web padrão.
  • 15. 15 2. O que é Web Scraping? TCHELINUX - 2019
  • 16. 16 2. O que é Web Scraping? Web Scraping é um método de "raspagem" de dados de sites que usa scripts para obter as informações necessárias, simulando um comportamento "humano".  Um uso popular do scraping na web é procurar ofertas online, como passagens aéreas, shows, etc. TCHELINUX - 2019
  • 17. 17 2. O que é Web Scraping? TCHELINUX - 2019 Figura. Visão geral de um web scraping.
  • 18. 18 2. Web Scraping TCHELINUX - 2019 Figura. Visão geral de um web scraping.
  • 19. 19 2. O que é Web Scraping? TCHELINUX - 2019 Figura. Visão geral de um web scraping.
  • 20. 20 2. Web Scraping TCHELINUX - 2019 Figura. Web Scraping versus Web Crawling.
  • 21. 21 2. Web Scraping TCHELINUX - 2019 Figura. Aplicações do web scraping.
  • 22. 22 2. O que é Web Scraping? Web Scraping é um método de "raspagem" de dados de sites que usa scripts para obter as informações necessárias, simulando um comportamento "humano".  Um uso popular do scraping na web é procurar ofertas online, como passagens aéreas, shows, etc.  Existem empresas especializadas no ramo? TCHELINUX - 2019
  • 23. 23 2. O que é Web Scraping? TCHELINUX - 2019 Figura. Empresas de web scraping.
  • 24. 24 2. O que é Web Scraping? TCHELINUX - 2019 Figura. Empresas de web scraping.
  • 25. 25 2. O que é Web Scraping? Web Scraping é um método de "raspagem" de dados de sites que usa scripts para obter as informações necessárias, simulando um comportamento "humano".  Um uso popular do scraping na web é procurar ofertas online, como passagens aéreas, shows, etc.  Existem empresas especializadas no ramo?  Uma alternativa para o web scraping é usar uma API, se houver alguma disponível. Ex.: Twitter, Instagram, Facebook, etc. TCHELINUX - 2019
  • 26. 26 2. O que é Web Scraping? TCHELINUX - 2019 Figura. APIs para extração de dados.
  • 27. 27 2. O que é Web Scraping? TCHELINUX - 2019 Figura. APIs para extração de dados.
  • 28. 28 2. O que é Web Scraping? Web Scraping é um método de "raspagem" de dados de sites que usa scripts para obter as informações necessárias, simulando um comportamento "humano".  Um uso popular do scraping na web é procurar ofertas online, como passagens aéreas, shows, etc.  Existem empresas especializadas no ramo?  Uma alternativa para o web scraping é usar uma API, se houver alguma disponível. Ex.: Twitter, Instagram, Facebook, etc.  "Be polite" (seja educado): um scraping pode sobrecarregar um servidor, principalmente, se o script estiver fazendo uma grande quantidade de solicitações. Respeite o robots.txt! TCHELINUX - 2019
  • 29. 29 2. Web Scraping TCHELINUX - 2019 Figura. Muitas requisições "simultâneas".
  • 30. 30 2. Web Scraping TCHELINUX - 2019 Figura. Exemplo de um robots.txt.
  • 32. 32 3. Ferramentas KIT DO WEB SCRAPER:  GitHub do projeto: https://github.com/alexcamargoweb/python-webscraping  Linux Mint: https://linuxmint.com/download.php  Python 3: https://www.python.org/downloads/  Requests: https://pypi.org/project/requests/  URLlib: https://pypi.org/project/urllib3/  BeautifulSoup: https://pypi.org/project/beautifulsoup4/ TCHELINUX - 2019
  • 33. 33 3. Ferramentas KIT DO WEB SCRAPER:  Selenium: https://pypi.org/project/selenium/  Firefox geckodriver: https://github.com/mozilla/geckodriver/releases/  Selenium IDE (Firefox extension): https://addons.mozilla.org/pt-BR/firefox/addon/selenium-ide/ TCHELINUX - 2019
  • 34. 34 4. Scraping na prática: bage.rs.gov.br TCHELINUX - 2019
  • 35. 35 4. Scraping na prática: bage.rs.gov.br TCHELINUX - 2019 Link. https://www.bage.rs.gov.br
  • 36. 36 5. Bônus: Web scraping completo em 4 minutos (GUI mode) TCHELINUX - 2019
  • 37. 37 5. Bônus: Web scraping completo em 4 minutos (GUI mode) Demonstração... TCHELINUX - 2019
  • 38. 38 IV. Onde estudar Se interessou pelo assunto? :)  Learn Web Scraping with Python from Scratch (15.851 alunos) https://www.udemy.com/course/web-scraping-python-tutorial/  Anotações e scripts de web scraping, screen scraping, etc https://github.com/ferreiraapfernanda/web-scraping  Python Selenium WebDriver https://www.youtube.com/playlist?list=PLUY1lsOTtPeJNBuSweX S9pcSKbP4mr32S  MITCHELL, Ryan. Web Scraping with Python: Collecting More Data from the Modern Web. "O'Reilly, Inc.", 2018. https://www.amazon.com/Web-Scraping-Python-Collecting-Mod ern/dp/1491910291 TCHELINUX - 2019
  • 39. 39 Agradecimentos Obrigado pela sua participação! :)  Acadêmicos do curso de Engenharia de Computação  Grupo de usuários de Software Livre Tchelinux  Toda honra e glória ao Senhor Jesus! Abraços, Prof. Alex Dias Camargo Unipampa – Câmpus Bagé 05 de Outubro de 2019 TCHELINUX - 2019