24
AGREGADOR AUTÔNOMO DE CONTEÚDO WEB Rafael Marchioli Bernardes Wagner Ferreira dos Santos Júnior Wilson Massashiro Yonezawa

AGREGADOR AUTÔNOMO DE CONTEÚDO WEB Rafael Marchioli Bernardes Wagner Ferreira dos Santos Júnior Wilson Massashiro Yonezawa

Embed Size (px)

Citation preview

Page 1: AGREGADOR AUTÔNOMO DE CONTEÚDO WEB Rafael Marchioli Bernardes Wagner Ferreira dos Santos Júnior Wilson Massashiro Yonezawa

AGREGADOR AUTÔNOMO DE CONTEÚDO WEBRafael Marchioli Bernardes

Wagner Ferreira dos Santos Júnior

Wilson Massashiro Yonezawa

Page 2: AGREGADOR AUTÔNOMO DE CONTEÚDO WEB Rafael Marchioli Bernardes Wagner Ferreira dos Santos Júnior Wilson Massashiro Yonezawa

OBJETIVO

Desenvolver um sistema computacional capaz de agregar informações de ofertas de compras coletivas através apenas da analise do código HTML/Javascript/CSS padrão web, agrupando-as de acordo com as caracteristicas da oferta apresentada.

Page 3: AGREGADOR AUTÔNOMO DE CONTEÚDO WEB Rafael Marchioli Bernardes Wagner Ferreira dos Santos Júnior Wilson Massashiro Yonezawa

Classificador

Scraper

BD

Page 4: AGREGADOR AUTÔNOMO DE CONTEÚDO WEB Rafael Marchioli Bernardes Wagner Ferreira dos Santos Júnior Wilson Massashiro Yonezawa

CRAWLER

Page 5: AGREGADOR AUTÔNOMO DE CONTEÚDO WEB Rafael Marchioli Bernardes Wagner Ferreira dos Santos Júnior Wilson Massashiro Yonezawa

ARQUITETURA DO CRAWLER

Page 6: AGREGADOR AUTÔNOMO DE CONTEÚDO WEB Rafael Marchioli Bernardes Wagner Ferreira dos Santos Júnior Wilson Massashiro Yonezawa

CRAWLERS Crawler sequencial Seeds é qualquer lista

de URLs A ordem das paginas

visitadas é definida pela arquitetura do frontier

Criterio de parada pode ser qualquer.

Page 7: AGREGADOR AUTÔNOMO DE CONTEÚDO WEB Rafael Marchioli Bernardes Wagner Ferreira dos Santos Júnior Wilson Massashiro Yonezawa

DATA CLEANING

Data cleaning Remove referências irrelevantes e campos nos

logs. Remove referências criada pela navegação do

crawler Remove referências erradas Adiciona referências perdidas devido a

sessionization.

Page 8: AGREGADOR AUTÔNOMO DE CONTEÚDO WEB Rafael Marchioli Bernardes Wagner Ferreira dos Santos Júnior Wilson Massashiro Yonezawa
Page 9: AGREGADOR AUTÔNOMO DE CONTEÚDO WEB Rafael Marchioli Bernardes Wagner Ferreira dos Santos Júnior Wilson Massashiro Yonezawa

CLASSIFICADOR

Integração XML. Criação de template manual. Modelo de extração autonomo.

Page 10: AGREGADOR AUTÔNOMO DE CONTEÚDO WEB Rafael Marchioli Bernardes Wagner Ferreira dos Santos Júnior Wilson Massashiro Yonezawa

<?xml version="1.0" encoding="UTF-8"?>

<ofertas>

<oferta>

<id>ID da oferta</id>

<cidade>Rio de Janeiro</cidade>

<endereco>Endereço da oferta</endereco>

<titulo>Título da oferta</titulo>

<preco-real>Preço Real</preco-real>

<preco-final>Preço Final</preco-final>

<desconto>Desconto Porcentagem</desconto>

<url-imagem>URL da imagem</url-imagem>

<site>Nome do site da oferta</site>

<link>URL da oferta</link>

<data-inicio>Data de início da oferta</data-inicio>

<data-fim>Data do término da oferta</data-fim>

<categoria>Categoria da oferta</categoria>

<numero-vendas>Número de ofertas vendidas</numero-vendas>

</oferta>

<oferta>

<id>...</id>

<cidade>...</cidade>...

...

</oferta>

</ofertas>

Page 11: AGREGADOR AUTÔNOMO DE CONTEÚDO WEB Rafael Marchioli Bernardes Wagner Ferreira dos Santos Júnior Wilson Massashiro Yonezawa

MANUAL

Extensão Chrome. Capaz de navegar o DOM e estrair um

template da info selecionada. Armazena o template. Requesita o dado baseado no template.

Page 12: AGREGADOR AUTÔNOMO DE CONTEÚDO WEB Rafael Marchioli Bernardes Wagner Ferreira dos Santos Júnior Wilson Massashiro Yonezawa

12

EXTRAÇÃO AUTONOMA

Cada extração é feita utilizando-se 2 regras, uma start rule e uma end rule.

As regras de extração são baseadas em landmarks. Cada landmark é uma sequência tokens

consecutivos. Landmarks são usados para localizar o inicio e o

fim de cada item. Regras usam landmarks

Page 13: AGREGADOR AUTÔNOMO DE CONTEÚDO WEB Rafael Marchioli Bernardes Wagner Ferreira dos Santos Júnior Wilson Massashiro Yonezawa

13

EXEMPLO:“Good Noodles”. A regra R1 pode identificar o início:

R1: SkipTo(<b>) // start rule Com essa regra o sistema varre a pagina do início até

encontrar a tag <b>, que é um landmark. Para identifcar o fim:

R2: SkipTo(</b>) // end rule

Page 14: AGREGADOR AUTÔNOMO DE CONTEÚDO WEB Rafael Marchioli Bernardes Wagner Ferreira dos Santos Júnior Wilson Massashiro Yonezawa

REGRAS NÃO SÃO ÚNICAS Por exemplo, outras regras podem ser usadas

para encontrar o início da palavra:R3: SkiptTo(Name _Punctuation_ _HtmlTag_)

ou R4: SkiptTo(Name) SkipTo(<b>)

R3 pula-ra tudo ate encontrar “Name” seguido por uma pontuação e uma tag HTML. Name _Punctuaion_ e _HtmlTag juntos formam um landmark.

Page 15: AGREGADOR AUTÔNOMO DE CONTEÚDO WEB Rafael Marchioli Bernardes Wagner Ferreira dos Santos Júnior Wilson Massashiro Yonezawa

REGRAS DE EXTRAÇÃO Como o Stalker(Modulo que compara os dados e

cria os templates) aprende as regras para encontrar um item. Em cada iteração ele aprende uma regra que cobre o

maior número de exemplos positivos sem ter nenhum exemplo negativo.

Uma vez que um exemplo positivo é coberto por uma regra, este exemplo é removido.

O algoritmo termina quando todos os exemplos positivos foram removidos e o resultado é uma lista com todas as regras aprendidas.

Page 16: AGREGADOR AUTÔNOMO DE CONTEÚDO WEB Rafael Marchioli Bernardes Wagner Ferreira dos Santos Júnior Wilson Massashiro Yonezawa

PARSING HTML tem uma estrutura de

árvore DOM (Document Object Model)

HTML geralmente possui erros Crawlers, assim como

browsers, devem ser robustos Mas existem ferramentas para

ajudar E.g. tidy.sourceforge.net

Cuidado com os diversos outros formatos Flash, SVG, RSS, AJAX…

Page 17: AGREGADOR AUTÔNOMO DE CONTEÚDO WEB Rafael Marchioli Bernardes Wagner Ferreira dos Santos Júnior Wilson Massashiro Yonezawa

FRONTEND

Page 18: AGREGADOR AUTÔNOMO DE CONTEÚDO WEB Rafael Marchioli Bernardes Wagner Ferreira dos Santos Júnior Wilson Massashiro Yonezawa
Page 19: AGREGADOR AUTÔNOMO DE CONTEÚDO WEB Rafael Marchioli Bernardes Wagner Ferreira dos Santos Júnior Wilson Massashiro Yonezawa
Page 20: AGREGADOR AUTÔNOMO DE CONTEÚDO WEB Rafael Marchioli Bernardes Wagner Ferreira dos Santos Júnior Wilson Massashiro Yonezawa

APLICATIVO CHROME

Possível seleção dos parâmetros a serem selecionados.

Usuário seleciona na tela qual será a informação a ser gravada e em seguida seleciona na extensão onde grava-la

Ao final exporta-se um arquivo contendo os caminhos que foram selecionados, tornando possível coleta-los automaticamente da próxima vez.

Page 21: AGREGADOR AUTÔNOMO DE CONTEÚDO WEB Rafael Marchioli Bernardes Wagner Ferreira dos Santos Júnior Wilson Massashiro Yonezawa
Page 22: AGREGADOR AUTÔNOMO DE CONTEÚDO WEB Rafael Marchioli Bernardes Wagner Ferreira dos Santos Júnior Wilson Massashiro Yonezawa
Page 23: AGREGADOR AUTÔNOMO DE CONTEÚDO WEB Rafael Marchioli Bernardes Wagner Ferreira dos Santos Júnior Wilson Massashiro Yonezawa

BIBLIOGRAFIA:

YU, Liyang. A Developer’s guide to the Semantic Web. Springer 1st Edition., 2011

Web Semântica. Disponível em: < http://pt.wikipedia.org/wiki/Web_semantica > Acesso em : 16 março 2011.

SYCARA, Katia; PAOLUCCI, Massimo; ANKOLEKAR, Anupriya; SRINIVASAN, Naveen. Automated discovery, interaction and composition of Semantic Web services. Carnegie Mellon University, 18 julho 2003

BERNERS-LEE, Tim; HENDLER, James; LASSILA, Ora. The Semantic Web: A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities, 17 Maio 2001

LIU, Bing. Web Data Mining Exploring Hyperlinks, Contests, and Usage Data. Springler-Verlag Berlin Heidelberg, 2007

WITTEN, Ian H.; FRANK, Eibe; HALL, Mark A..Data Mining:Practical Machine Learning tools and techniques, 2011

Page 24: AGREGADOR AUTÔNOMO DE CONTEÚDO WEB Rafael Marchioli Bernardes Wagner Ferreira dos Santos Júnior Wilson Massashiro Yonezawa

FIM

www.promotime.com.br