Raspando dados. O maravilhoso mundo da multidão de informações. pedro belasco - cromatica - cdc W3C - Open Data

Documentos relacionados
Web Services REST. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

Instrutor: Eder Martins Franco

Redes de Computadores

Webservices LEANDRO MENDES FERREIRA

REST RESTfulWeb Services JAX-RS

Redes de Computadores I

@sergio_caelum sergiolopes.org

#Fundamentos de uma página web

Compreender as diferenças entre os vários métodos e códigos de erro HTTP. Conhecer as linguagens fundamentais para programação para a Web

XHTML 1.0 DTDs e Validação

Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES

JavaScript. Carlos Santos LabMM 3 - NTC - DeCA - UA Aula 03,

20/08/14 JAVA SERVLETS CONCEITOS CONTEÚDO ARQUITETURA DE UMA APLICAÇÃO WEB ARQUITETURA DA APLICAÇÃO WEB

Criando e consumindo Web service REST com PHP e JSON. Palestrante: Weiberlan Garcia

Fernando M. V. Ramos, RC (LEI), TP02. HTTP. Redes de Computadores

Protocolo HTTP. Eduardo Ferreira dos Santos. Fevereiro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 22

Programação Web Aula 1: Introdução

Desenvolvimento de Aplicações Web. Prof. José Eduardo A. de O. Teixeira / j.edu@vqv.com.br

INTRODUÇÃO À INTERNET E À WORLD WIDE WEB

Programação para Internet Flávio de Oliveira Silva, M.Sc.

Web Services. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul

Aulas Práticas. Implementação de um Proxy HTTP. O que é um proxy?

Web das Coisas WoT. Software: APIs para IoT. Prof. João Bosco Teixeira Junior

Java Enterprise Edition. by Antonio Rodrigues Carvalho Neto

Capítulo 2. Camada de aplicação

HTTP. passado, presente e futuro.

Redes de Computadores

Estruturas de Comunicação de Dados Aula 3 Camadas de Aplicação e Transporte

Correio eletrônico. Sistema de correio da Internet composto de

Nesta disciplina aprenderemos. HTML CSS JavaScript Jquery PHP

TECNOLOGIA GRATUITA: PROGRAMAÇÃO PARA AMBIENTES DE REDE TÓPICO: NOÇÕES DO PROTOCOLO HTTP

Introdução a Web. Programação para a Internet. Prof. Vilson Heck Junior

Aplicativos para Internet Aula 01

EVOLUÇÃO HISTÓRICA DA DOCUMENTAÇÃO ELETRONICA NO BRASIL. Aula 2 - Documentos eletrônicos 23/mar/2012. Prof. Apresentador: José Maria Ribeiro

APLICAÇÕES E SERVIÇOS WEB

Projecto Integrador. Introdução ao REST. Material de suporte às aulas de Proj. Integrador (Nuno Preguiça) Copyright DI FCT/ UNL / 1

INTRODUÇÃO AO DESENVOLVIMENTO WEB. PROFª. M.Sc. JULIANA H Q BENACCHIO

Técnicas e processos de produção. Profº Ritielle Souza

Construção de sites Aula 1

Web. Até a década de 1990, a Internet era utilizada. por pesquisadores, acadêmicos e universitários, para troca de arquivos e para correio eletrônico.

Redes de Computadores Grupo de Redes de Computadores

Sistemas distribuídos. Prof. Emiliano Monteiro

TECNOLOGIA WEB INTRODUÇÃO CONSTRUÇÃO DE PÁGINAS ESTÁTICAS HTML / XHTML

STD29006 Sistemas Distribuídos

HTML templates e PHP. Um ficheiro PHP é um documento HTML com código PHP embebido. Tem vantagens mas também tem desvantagens

Programação para Internet I. 2. O protocolo HTTP. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

WOW Mobile Rui Miguel Miranda Ramos

PTC Aula A Web e o HTTP. (Kurose, p ) (Peterson, p ) 24/03/2017

rumo ao HTTP 2.0 o que vem por aí e o que você pode utilizar já com SPDY

PROGRAMAÇÃO PARA INTERNET HTML

Universidade Federal do Espírito Santo CCA UFES. Centro de Ciências Agrárias CCA UFES Departamento de Computação. Programação WEB

1.264 Lição 11. Fundamentos da Web

WEBDESIGN. Professor: Paulo Trentin Escola CDI de Videira

Integração de sistemas utilizando Web Services do tipo REST

Programação para Internet Avançada. 4. Web Services. Nuno Miguel Gil Fonseca

Novos inputs em HTML5

REST Um Estilo de Arquitetura de Sistemas Distribuídos

Manual do Desenvolvedor

PROJETO PEDAGÓGICO DE CURSOS

Internet e protocolos web. A Internet é uma rede descentralizada de recursos computacionais. Topologia tem de fornecer caminhos alternativos

Web Services Uma Análise Comparativa

CRIAÇÃO DE APLICAÇÃO WEBMAPPING COM O AUXILIO DO ALOV MAP

Técnico Integrado em Informática. Programação WEB (PRW) Introdução ao PHP

BEM-VINDOS AO CURSO DE ORIENTADO A OBJETOS

Introdução à Multimídia

Introdução à linguagem HTML. Volnys Borges Bernal

Webservices. O que é um web service? Características. Por que web services? Tipos de web services

arquitetura shared-nothing em 3 camadas

Comunicação entre Processos

Projecto Integrador. Introdução ao REST. Material de suporte às aulas de Proj. Integrador (Nuno Preguiça) Copyright DI FCT/ UNL / 1

Introdução ao Desenvolvimento de

Service Oriented Architecture SOA

EA975 - Laboratório de Engenharia de Software

Introdução a Web Services

Sistemas Distribuídos na Web

código belo vs. legado e qualidade de software

Programação para Web

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas)

Como funciona a plataforma Superlógica? - Livro 4 de 4. Como funciona a interface de integração? Como você poderá complementar o sistema?

DNS. Usa o UDP e a porta 53. Não é uma aplicação com a qual o usuário interage diretamente Complexidade nas bordas da rede

Conceitos de Ajax Exemplos de uso do Ajax no braço, muitos exemplos, muito código (HTML, CSS, JavaScript, PHP, XML, JSON)

EA975 - Laboratório de Engenharia de Software

HTML: Linguagem de Marcação de HiperTexto (HyperText Markup Language) Pimentel, Morganna BSI -UNIRIO DPW

Linguagem de Programação Visual. Estrutura Basica do HTML5 Prof. Gleison Batista de Sousa

Desenvolvimento Web Introdução a XHTML. Prof. Bruno Gomes

Arquitetura TCP/IP Nível de Aplicação (HTTP, SMTP, FTP & DNS) Prof. Helber Silva

PAULO HENRIQUE CARDOSO DE OLIVEIRA DESENVOLVIMENTO DE UM GERADOR DE API REST SEGUINDO OS PRINCIPAIS PADRÕES DA ARQUITETURA

RestFull WebServices. Rafael Nunes Arquiteto de Software / Instrutor Globalcode. Globalcode Open4Education

Sistemas Distribuídos na Web. Pedro Ferreira DI - FCUL

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

web Infraestrutura Oinício do aprendizado de uma linguagem ou framework por Marcelo Morgade

HTML AULA 1 Prof. Daniela Pires XHTML HTML HEAD TITLE METAS TAG keywords description...

Pesquisa e análise de informação

Protocolo HTTP. Professor Leonardo Larback

Transcrição:

Raspando dados O maravilhoso mundo da multidão de informações pedro belasco - cromatica - cdc 2010 - W3C - Open Data 1

Parte 1, Mas, afinal, que diabos é uma página? Arquitetura da Internet, como computadores conversam HTTP Os verbos Mágicos: GET e POST PUT e DELETE Ferramentas para ver o que acontece. 2

Parte 2, A sacada do DOM, e como achar o que você quer dentro de uma página estruturada. Ou não. Nosso amigo, o XPath Reconhecendo "boas vítimas" 3

Parte 3, YQL Abstraindo consultas de fontes variadas Busca genérica só com Ajax+YQL 4

Parte 1 Arquitetura da Internet, como computadores conversam HTTP POST (tó o que eu tenho, Create) GET (me dá, Read) PUT (toma aqui, arruma aí, Update) DELETE (tira já daí, é Delete mesmo) 5

Parte 1 Arquitetura da Internet, como computadores conversam HTTP POST (tó o que eu tenho, Create) GET (me dá, Read) PUT (toma aqui, arruma aí, Update) DELETE (tira já daí, é Delete mesmo) 5

REST & RESTful A Transferência de Estado Representacional (Representational State Transfer) ou somente (REST) é uma técnica de engenharia de software para sistemas hipermídia distribuídos como a World Wide Web. Wikipedia 6

RPC vs REST RPC = Ênfase na multiplicidade de verbos getuser() adduser() removeuser() updateuser() getlocation() addlocation() removelocation() updatelocation() listusers() listlocations() findlocation() finduser() 7

REST = Ênfase na multiplicidade de RECURSOS User { :get, :post, :update, :delete } Location {:get, :post, :update, :delete } 8

Lendo informações GET ou POST Os dois verbos aceitam complementos (variáveis) 9

Lendo informações 9

Lendo informações Dê-me já esta fruta chamada maçã! 9

Lendo informações Dê-me já esta fruta chamada maçã! GET http://www.frutas.com?fruta=maca 9

Lendo informações Dê-me já esta fruta chamada maçã! GET http://www.frutas.com?fruta=maca POST (fruta=maça) => http://www.frutas.com 9

Lendo informações Dê-me já esta fruta chamada maçã! GET http://www.frutas.com?fruta=maca POST (fruta=maça) => http://www.frutas.com GET recebe parâmetros no gogó. POST só recebe por escrito. 9

A resposta! Depois de entendio o pedido, o servidor HTTP responde de acordo com o combinado. 10

A resposta! 10

A resposta! Cabeçalho cheio de informação que só interessa para o client Date Thu, 15 Apr 2010 20:20:29 GMT Server: Apache/2.2.3 (Red Hat) X-Powered-By: PHP/5.2.9 Vary: Cookie X-Pingback: http://globalvoicesonline.org/xmlrpc.php Keep-Alive: timeout=4, max=42 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/html; charset=utf-8 10

A resposta! Cabeçalho cheio de informação que só interessa para o client Date Thu, 15 Apr 2010 20:20:29 GMT Server: Apache/2.2.3 (Red Hat) X-Powered-By: PHP/5.2.9 Vary: Cookie X-Pingback: http://globalvoicesonline.org/xmlrpc.php Keep-Alive: timeout=4, max=42 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/html; charset=utf-8 O corpo da resposta... A página que pedimos! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/dtd/ xhtml1-transitional.dtd"> <head> <title>a maçã</title> </head> <body> <h1>a maçã</h1> <p>a maça é um pseudo-fruto composto de cauda, tronco e membros</p> </body> 10

YQL select * from internet permite definir como fonte de dados quase qualquer recurso parseável - html, xml, xls, csv... e devolve JSON ou XML. permite uso de javascript para formatar a saída. acessível por uma interface REST 11

XPath XML Path Language (http://www.w3.org/tr/xpath/) Permite encontrar elementos por busca em suas posições ou descrições em um doc XML/HTML Automatizar! 12

MDN/XPathResult https://developer.mozilla.org/en/ XPathResult Implementação simples e ligeira. Direto do Browser. 13

Firebug. O Amigão 14

O poder da multidão Raspagem coletiva. Simples de implementar 15

Crowd Scrap na Amazon... GreaseMonkey + Webservice + Interesse coletivo = Crowd Scrap Vamos nessa? http://coletor.legisdados.org 16

Algumas coisas legais ScrapperWiki (http://scraperwiki.com/) Comunidade Transparência HackDay 17

Valeuzíssimo Ao pessoal do Polignu Aos desenvolvedores das aplicações e bibliotecas pedro@estudiocromatica.com 18