1 / 14

Consultas ad-hoc de estatísticas disponíveis na Web

Consultas ad-hoc de estatísticas disponíveis na Web. Idevan Gonçalves Freire Junior igfj@di.ufpe.br. Extrair a estrutura de uma home-page. Distinguir as classes url e webdoc . As url ’s são instâncias de strings com método get definido.

plato
Download Presentation

Consultas ad-hoc de estatísticas disponíveis na Web

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Consultas ad-hoc de estatísticas disponíveis na Web Idevan Gonçalves Freire Junior igfj@di.ufpe.br

  2. Extrair a estrutura de uma home-page • Distinguir as classes url e webdoc. • As url’s são instâncias de strings com método get definido. • Elementos típicos da classe webdoc são paginas HTML. • Métodos de webdoc: url, modif, type, hrefs@(label).

  3. Modelando a web • Classe url modela um documento como um objeto • “http://www.di.ufpe.br/~compint/” seria o id-term de um objeto da classe url • Método get para recuperar o documento: • “http://www.di.ufpe.br/~compint/”.get[ ] • get transforma uma página HTML em um objeto webdoc • Documentos recuperados têm a seguinte estrutura: • url::string [get =>webdoc] • webdoc[self =>url; author =>string; modif => string; type =>string; hrefs@(string)=>> url; error =>>string].

  4. Consultando a web • Exemplo: • “http://www.di.ufpe.br/~compint” = ourUrl. • ourUrl:url. • ourServer = “www.di.ufpe.br/”. • X.get:ourPage :- X: ourUrl. • Y.get:ourPage :- X:ourPage[hrefs@( _ ) ->> Y], substr(ourServer, Y). • Recupera os links que estão no mesmo servidor • X:ourPage[hrefs@( _ ) ->> Y], substr(“mailto:”,Y). • Recupera todos os endereços de e-mail achados nas páginas visitadas

  5. Modelo da Web

  6. Integração do Modelo da Web

  7. Bases de dados semi-estruturadas

  8. Web Skeleton • Um extrator web skeleton genérico para FLORID

  9. NBA Skeleton Extractor • Para NBA: • root[src->>{nba}]. • nba = "http://www.di.ufpe.br/~streak/espn.sportszone.com/nba/statistics/1998/". • >> ls • nba3ptpct.html nbafgpct.html nbascoring.html teamstatoff.html • nbaassists.html nbaftpct.html nbasteals.html tmcompare.html • nbablocks.html nbarebound.html teamstatdef.html j= substr("/nba/statistics/1998/nba",Y). • y= substr("/nba/statistics/1998/",Y).

  10. Operadores de expressões regulares • .* • uma linha de def • um exemplo simplissimo • \( • \)

  11. Percorrendo as páginas • As tabelas com os líderes estatísticos estão nas páginas definidas porje que iniciam comnba(como previsto emy). • Logo, ?- nba..L. traz todas as páginas dos líderes estatísticos. • Assim podemos construir as tabelas estatísticas: T:tabela :- match(nba..L.get,"<pre>\(.*\n\)*</pre>","",T). <pre><b>Player Gp PTS AVG</b> Michael Jordan, Chi 82 2357 28.7 Shaquille Oneal, Lal 60 1699 28.3 ... Rod Strickland, Was 76 1349 17.8 </pre>

  12. Consultas às tabelas estatísticas • Para se identificar os líderes estatísticos de um dos times faz-se (por exemplo): R:crqLal :- T:tabela, match(T,"\(.*Lal.*\)","",R). • Para se armazenar a quantidade de líderes de um determinado time em sua base, faz-se: ?- sys.strat.doIt[]. X[leaders->N] :- X=lal, N = count{R; R:crqLal}. • Definição dos times: • 2 linhas, ..., 1 linha

  13. Geração de lista ordenada

  14. Demo ao vivo

More Related