SlideShare uma empresa Scribd logo
1 de 14
Baixar para ler offline
No¸˜o de Search Engine
                                         ca
                                                   Cadˆ o “Cadˆ?”
                                                      e       e


                                              Douglas Sandy Bonaf´
                                                                 e

                                      Universidade Federal de Itajub´ - UNIFEI
                                                                    a
                                                       IESTI


                                                       16-10-2012




Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine
                   e                                a - UNIFEI IESTI)
                                                        ca                       16-10-2012   1 / 14
¿Qui´n soy yo?
       e
   Aluno de Engenharia da Computa¸˜o, pesquiso na ´rea de
                                      ca               a
   Microeletrˆnica, metido a falar de mat´rias da ´rea de humanas como
             o                             e        a
   Filosofia, Sociologia, Hist´ria, Teologia... Curto pocker, fazemos festas
                             o
   medievais, churras, programas malucos, etc.




                                       Figure: Um aventureiro maluco!!!

Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine
                   e                                a - UNIFEI IESTI)
                                                        ca                     16-10-2012   2 / 14
O que ´ uma Search Engine???
         e


   Uma Search Engine, ou motor de busca em nossa l´  ıngua mater (-hehe) ´e
   um sistema de software projetado para encontrar informa¸˜es armazenadas
                                                            co
   em um sistema computacional a partir de keywords. Mais corretamente se
   distingue as Search Engine das bases de dados, pela diferen¸a que as S.E.
                                                               c
   utilizam o conceito de Web Crawlers enquanto sites como o “Cadˆ?” e
   apenas faziam uma query dentro da pr´pria base. Podemos estruturar a
                                         o
   Search Engine em trˆs funcionalidades b´sicas:
                       e                  a
           Web Crawling
           Indexa¸˜o
                 ca
           Busca




Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine
                   e                                a - UNIFEI IESTI)
                                                        ca                     16-10-2012   3 / 14
Web Crawler - Rastreador




                   Figure: Darei uma no¸˜o inicial Web Crawler nesses 10 min.
                                       ca




Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine
                   e                                a - UNIFEI IESTI)
                                                        ca                     16-10-2012   4 / 14
Web Crawler - Rastreador




   Um web crawler ´ um programa que coleta conte´do da rede mundial de
                     e                                u
   computadores (www). Ele navega pela web de uma forma met´dica eo
   automatizada. Em outras palavras, ele ´ um “robˆ” que monta uma
                                           e         o
   ´rvore das p´ginas e encontra outras p´ginas iniciando por uma semente e
   a           a                         a
   seguindo links para encontrar outras p´gias, e continua seguindo links
                                         a
   dentro destas p´ginas encontradas, encontrando novas p´ginas e assim por
                   a                                        a
   diante.




Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine
                   e                                a - UNIFEI IESTI)
                                                        ca                     16-10-2012   5 / 14
Web Crawler - Rastreador




                                 Figure: Vis˜o Gr´fica de um Web Crawler
                                            a    a
Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine
                   e                                a - UNIFEI IESTI)
                                                        ca                     16-10-2012   6 / 14
Alguns Web Crawlers


           DataparkSearch - mais usado para sistemas locais e intranet;
           Wget - programa OpenSource usado para recuperar arquivos usando
           os protocolos HTTP, HTTPS, FTP; Roda em linha de comando;
           nativo na maioria das distribui¸˜es GNU/Linux e pode ser instalado
                                          co
           em qualquer sistema Unix-like j´ sendo tamb´m portado para
                                           a          e
           ambientes MS Windows e OpenVMS.
           JSpider - se define como uma Web Spider Engine (web crawler)
           altamente configur´vel e customiz´vel 100 % JAVA
                             a             a
           Yahoo!Slurp - web crawler da Yahoo!
           Googlebot - web crawler da Google



Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine
                   e                                a - UNIFEI IESTI)
                                                        ca                     16-10-2012   7 / 14
Chega de Papo! Quero ver c´digo!
                             o



   Primeiramente, que linguagem usar? Particularmente, recomendo Python!
   ´ a
   E pr´tica, sem stress, tipagem dinˆmica, Orientada a Objetos, e todo o
                                     a
   “bla-bla-bla” que vocˆs j´ est˜o cansados de ouvir! Use porque ´ t˜o f´cil
                         e a     a                                e a a
   quando dar Ctrl+F no seu navegador!
   O Cora¸˜o da Search Engine
         ca
         start_link = page.findAll(’<a href=’)




Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine
                   e                                a - UNIFEI IESTI)
                                                        ca                     16-10-2012   8 / 14
Web Crawler - Rastreador
   Ent˜o vamos ao menos programar um pedacinho dessa Web Crawler...
      a
   Primeiramente precisamos entender qual a estrutura de um Web Crawler:




                 Figure: Esquema b´sico de funcionamento de um Web Crawler
                                  a

Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine
                   e                                a - UNIFEI IESTI)
                                                        ca                     16-10-2012   9 / 14
Chega de Papo! Quero ver c´digo!
                             o
   Usaremos Python e sua biblioteca urlib2 que faz a conex˜o com os
                                                           a
   protocolos HTTP, HTTPS, etc. Um grande problema da WWW chama-se
   “falta de padr˜o”. Muitos “desenvolvedores” escrevem suas p´ginas web
                  a                                              a
   mal formatadas (porcamente) e isso dificulta o nosso trabalho. Felizmente
   isso n˜o ´ problema. Basta usarmos o BeautifulSoup que ´ uma
         a e                                                  e
   biblioteca Python desenvolvida para projetos de resposta r´pida. Abaixo
                                                             a
   segue um c´digo de algo util: um programa que lista todos os links da
               o             ´
   p´gina inicial do Google.
     a
   Ent˜o a parte de buscar os links fica f´cil!
      a                                  a

                import urllib2
                from BeautifulSoup import BeautifulSoup

                url = "http://www.google.com"


Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine
                   e                                a - UNIFEI IESTI)
                                                        ca                     16-10-2012   10 / 14
Chega de Papo! Quero ver c´digo!
                             o
   Ent˜o a parte de buscar os links fica f´cil!
      a                                  a

                request = urllib2.Request(url)
                response = urllib2.urlopen(request)
                document = response.read()
                #normaliza o documento para que o mesmo seja acess´vel v
                                                                  ı
                soup = BeautifulSoup(document)

                # retorna uma lista com todos os links do documento
                links = soup.findAll(’a’)

                for link in links:
                print link[’href’]




Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine
                   e                                a - UNIFEI IESTI)
                                                        ca                     16-10-2012   11 / 14
And the Oscar goes to...
   Acreditem
                http://images.google.com.br/imghp?hl=pt-BR&tab=wi

                http://video.google.com.br/?hl=pt-BR&tab=wv


                http://maps.google.com.br/maps?hl=pt-BR&tab=wl


                http://news.google.com.br/nwshp?hl=pt-BR&tab=wn


                http://www.orkut.com/Home.aspx?hl=pt-BR&tab=w0

                                        ...
Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine
                   e                                a - UNIFEI IESTI)
                                                        ca                     16-10-2012   12 / 14
O Fim...



   E de tanto me dizerem que eu falo mais de humanas que de Computa¸˜o,ca
   resolvi criar uma ala de computa¸˜o tamb´m... Est´ no come¸o, com 2
                                    ca      e        a         c
   artigos (Redes Neurais e Interfaces com Glade), mas aos poucos a coisa
   vai tomar corpo...
   Link do “Caf´, Circuitos e Bits”: http://veritatis.x10.mx/eng
                  e
   Twitter: @dsbonafe
   Facebook: Douglas Sandy Bonaf´    e
   E-mail: dsbonafe@unifei.edu.br




Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine
                   e                                a - UNIFEI IESTI)
                                                        ca                     16-10-2012   13 / 14
O Fim...

   Obrigado!




Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine
                   e                                a - UNIFEI IESTI)
                                                        ca                     16-10-2012   14 / 14

Mais conteúdo relacionado

Destaque

Congreso visión 2012 - taller introducción app engine
Congreso visión 2012 - taller introducción app engineCongreso visión 2012 - taller introducción app engine
Congreso visión 2012 - taller introducción app engine
Nigeŗ Arce
 
Presentation SEO/SEM
Presentation SEO/SEMPresentation SEO/SEM
Presentation SEO/SEM
Hicham SBINI
 
коллекция Audi в миниатюре
коллекция Audi в миниатюреколлекция Audi в миниатюре
коллекция Audi в миниатюре
Vag-Express
 

Destaque (18)

SMM-SEO.SEM
SMM-SEO.SEMSMM-SEO.SEM
SMM-SEO.SEM
 
Was User lieben, was sie hassen - Gregor Urech, Sibylle Peuker, Zeix AG
Was User lieben, was sie hassen - Gregor Urech, Sibylle Peuker, Zeix AGWas User lieben, was sie hassen - Gregor Urech, Sibylle Peuker, Zeix AG
Was User lieben, was sie hassen - Gregor Urech, Sibylle Peuker, Zeix AG
 
Digital Training (SEO: search engine optimization)
Digital Training (SEO: search engine optimization)Digital Training (SEO: search engine optimization)
Digital Training (SEO: search engine optimization)
 
Como fazer um comentário no Blog
Como fazer um comentário no BlogComo fazer um comentário no Blog
Como fazer um comentário no Blog
 
Ogre Game Engine
Ogre Game EngineOgre Game Engine
Ogre Game Engine
 
Social Media für Unternehmen und Institutionen
Social Media für Unternehmen und InstitutionenSocial Media für Unternehmen und Institutionen
Social Media für Unternehmen und Institutionen
 
Performance im Fokus
Performance im FokusPerformance im Fokus
Performance im Fokus
 
Mehr Wert für Gesellschaft und Unternehmen - Ratgeber für wirkungsvolle Unter...
Mehr Wert für Gesellschaft und Unternehmen - Ratgeber für wirkungsvolle Unter...Mehr Wert für Gesellschaft und Unternehmen - Ratgeber für wirkungsvolle Unter...
Mehr Wert für Gesellschaft und Unternehmen - Ratgeber für wirkungsvolle Unter...
 
Open Source BPM - iteratec Architekturtag
Open Source BPM - iteratec ArchitekturtagOpen Source BPM - iteratec Architekturtag
Open Source BPM - iteratec Architekturtag
 
Congreso visión 2012 - taller introducción app engine
Congreso visión 2012 - taller introducción app engineCongreso visión 2012 - taller introducción app engine
Congreso visión 2012 - taller introducción app engine
 
Tecnicas SEO
Tecnicas SEOTecnicas SEO
Tecnicas SEO
 
Adforallprsentation 100914100808 Phpapp02
Adforallprsentation 100914100808 Phpapp02Adforallprsentation 100914100808 Phpapp02
Adforallprsentation 100914100808 Phpapp02
 
Presentation SEO/SEM
Presentation SEO/SEMPresentation SEO/SEM
Presentation SEO/SEM
 
Werksverzeichnis Hans Martin 1916
Werksverzeichnis Hans Martin 1916Werksverzeichnis Hans Martin 1916
Werksverzeichnis Hans Martin 1916
 
Python, Google App Engine e Webapp-CE
Python, Google App Engine e Webapp-CE Python, Google App Engine e Webapp-CE
Python, Google App Engine e Webapp-CE
 
коллекция Audi в миниатюре
коллекция Audi в миниатюреколлекция Audi в миниатюре
коллекция Audi в миниатюре
 
produção de games com tecnologia livre ou proprietária, Qual usar?
produção de games com tecnologia livre ou proprietária, Qual usar?produção de games com tecnologia livre ou proprietária, Qual usar?
produção de games com tecnologia livre ou proprietária, Qual usar?
 
Google app engine para lean startups: the good, the bad and the ugly
Google app engine para lean startups: the good, the bad and the uglyGoogle app engine para lean startups: the good, the bad and the ugly
Google app engine para lean startups: the good, the bad and the ugly
 

Semelhante a Noções de Search Engine (7)

Apresentação unidade 2
Apresentação unidade 2Apresentação unidade 2
Apresentação unidade 2
 
Apresentação unidade 2
Apresentação unidade 2Apresentação unidade 2
Apresentação unidade 2
 
Apresentação unidade 2.2
Apresentação unidade 2.2Apresentação unidade 2.2
Apresentação unidade 2.2
 
curso-219506-aula-03-2d66-completo.pdf
curso-219506-aula-03-2d66-completo.pdfcurso-219506-aula-03-2d66-completo.pdf
curso-219506-aula-03-2d66-completo.pdf
 
Introdução á disciplina de Webdesign - turma 1 Sem 2015
Introdução á disciplina de Webdesign - turma 1 Sem 2015Introdução á disciplina de Webdesign - turma 1 Sem 2015
Introdução á disciplina de Webdesign - turma 1 Sem 2015
 
Pesquisa Na Internet
Pesquisa Na InternetPesquisa Na Internet
Pesquisa Na Internet
 
Motores de busca
Motores de buscaMotores de busca
Motores de busca
 

Mais de Douglas Sandy Bonafé

Mais de Douglas Sandy Bonafé (7)

Esclarecimento sobre o tribunal do santo ofício
Esclarecimento sobre o tribunal do santo ofícioEsclarecimento sobre o tribunal do santo ofício
Esclarecimento sobre o tribunal do santo ofício
 
Renúncia de bento xvi
Renúncia de bento xviRenúncia de bento xvi
Renúncia de bento xvi
 
As sete palavras de cristo na cruz
As sete palavras de cristo na cruzAs sete palavras de cristo na cruz
As sete palavras de cristo na cruz
 
Canto liturgico
Canto liturgicoCanto liturgico
Canto liturgico
 
A questão das imagens
A questão das imagensA questão das imagens
A questão das imagens
 
Apresentação web access
Apresentação web accessApresentação web access
Apresentação web access
 
Reforma codigopenal
Reforma codigopenalReforma codigopenal
Reforma codigopenal
 

Noções de Search Engine

  • 1. No¸˜o de Search Engine ca Cadˆ o “Cadˆ?” e e Douglas Sandy Bonaf´ e Universidade Federal de Itajub´ - UNIFEI a IESTI 16-10-2012 Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine e a - UNIFEI IESTI) ca 16-10-2012 1 / 14
  • 2. ¿Qui´n soy yo? e Aluno de Engenharia da Computa¸˜o, pesquiso na ´rea de ca a Microeletrˆnica, metido a falar de mat´rias da ´rea de humanas como o e a Filosofia, Sociologia, Hist´ria, Teologia... Curto pocker, fazemos festas o medievais, churras, programas malucos, etc. Figure: Um aventureiro maluco!!! Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine e a - UNIFEI IESTI) ca 16-10-2012 2 / 14
  • 3. O que ´ uma Search Engine??? e Uma Search Engine, ou motor de busca em nossa l´ ıngua mater (-hehe) ´e um sistema de software projetado para encontrar informa¸˜es armazenadas co em um sistema computacional a partir de keywords. Mais corretamente se distingue as Search Engine das bases de dados, pela diferen¸a que as S.E. c utilizam o conceito de Web Crawlers enquanto sites como o “Cadˆ?” e apenas faziam uma query dentro da pr´pria base. Podemos estruturar a o Search Engine em trˆs funcionalidades b´sicas: e a Web Crawling Indexa¸˜o ca Busca Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine e a - UNIFEI IESTI) ca 16-10-2012 3 / 14
  • 4. Web Crawler - Rastreador Figure: Darei uma no¸˜o inicial Web Crawler nesses 10 min. ca Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine e a - UNIFEI IESTI) ca 16-10-2012 4 / 14
  • 5. Web Crawler - Rastreador Um web crawler ´ um programa que coleta conte´do da rede mundial de e u computadores (www). Ele navega pela web de uma forma met´dica eo automatizada. Em outras palavras, ele ´ um “robˆ” que monta uma e o ´rvore das p´ginas e encontra outras p´ginas iniciando por uma semente e a a a seguindo links para encontrar outras p´gias, e continua seguindo links a dentro destas p´ginas encontradas, encontrando novas p´ginas e assim por a a diante. Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine e a - UNIFEI IESTI) ca 16-10-2012 5 / 14
  • 6. Web Crawler - Rastreador Figure: Vis˜o Gr´fica de um Web Crawler a a Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine e a - UNIFEI IESTI) ca 16-10-2012 6 / 14
  • 7. Alguns Web Crawlers DataparkSearch - mais usado para sistemas locais e intranet; Wget - programa OpenSource usado para recuperar arquivos usando os protocolos HTTP, HTTPS, FTP; Roda em linha de comando; nativo na maioria das distribui¸˜es GNU/Linux e pode ser instalado co em qualquer sistema Unix-like j´ sendo tamb´m portado para a e ambientes MS Windows e OpenVMS. JSpider - se define como uma Web Spider Engine (web crawler) altamente configur´vel e customiz´vel 100 % JAVA a a Yahoo!Slurp - web crawler da Yahoo! Googlebot - web crawler da Google Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine e a - UNIFEI IESTI) ca 16-10-2012 7 / 14
  • 8. Chega de Papo! Quero ver c´digo! o Primeiramente, que linguagem usar? Particularmente, recomendo Python! ´ a E pr´tica, sem stress, tipagem dinˆmica, Orientada a Objetos, e todo o a “bla-bla-bla” que vocˆs j´ est˜o cansados de ouvir! Use porque ´ t˜o f´cil e a a e a a quando dar Ctrl+F no seu navegador! O Cora¸˜o da Search Engine ca start_link = page.findAll(’<a href=’) Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine e a - UNIFEI IESTI) ca 16-10-2012 8 / 14
  • 9. Web Crawler - Rastreador Ent˜o vamos ao menos programar um pedacinho dessa Web Crawler... a Primeiramente precisamos entender qual a estrutura de um Web Crawler: Figure: Esquema b´sico de funcionamento de um Web Crawler a Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine e a - UNIFEI IESTI) ca 16-10-2012 9 / 14
  • 10. Chega de Papo! Quero ver c´digo! o Usaremos Python e sua biblioteca urlib2 que faz a conex˜o com os a protocolos HTTP, HTTPS, etc. Um grande problema da WWW chama-se “falta de padr˜o”. Muitos “desenvolvedores” escrevem suas p´ginas web a a mal formatadas (porcamente) e isso dificulta o nosso trabalho. Felizmente isso n˜o ´ problema. Basta usarmos o BeautifulSoup que ´ uma a e e biblioteca Python desenvolvida para projetos de resposta r´pida. Abaixo a segue um c´digo de algo util: um programa que lista todos os links da o ´ p´gina inicial do Google. a Ent˜o a parte de buscar os links fica f´cil! a a import urllib2 from BeautifulSoup import BeautifulSoup url = "http://www.google.com" Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine e a - UNIFEI IESTI) ca 16-10-2012 10 / 14
  • 11. Chega de Papo! Quero ver c´digo! o Ent˜o a parte de buscar os links fica f´cil! a a request = urllib2.Request(url) response = urllib2.urlopen(request) document = response.read() #normaliza o documento para que o mesmo seja acess´vel v ı soup = BeautifulSoup(document) # retorna uma lista com todos os links do documento links = soup.findAll(’a’) for link in links: print link[’href’] Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine e a - UNIFEI IESTI) ca 16-10-2012 11 / 14
  • 12. And the Oscar goes to... Acreditem http://images.google.com.br/imghp?hl=pt-BR&tab=wi http://video.google.com.br/?hl=pt-BR&tab=wv http://maps.google.com.br/maps?hl=pt-BR&tab=wl http://news.google.com.br/nwshp?hl=pt-BR&tab=wn http://www.orkut.com/Home.aspx?hl=pt-BR&tab=w0 ... Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine e a - UNIFEI IESTI) ca 16-10-2012 12 / 14
  • 13. O Fim... E de tanto me dizerem que eu falo mais de humanas que de Computa¸˜o,ca resolvi criar uma ala de computa¸˜o tamb´m... Est´ no come¸o, com 2 ca e a c artigos (Redes Neurais e Interfaces com Glade), mas aos poucos a coisa vai tomar corpo... Link do “Caf´, Circuitos e Bits”: http://veritatis.x10.mx/eng e Twitter: @dsbonafe Facebook: Douglas Sandy Bonaf´ e E-mail: dsbonafe@unifei.edu.br Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine e a - UNIFEI IESTI) ca 16-10-2012 13 / 14
  • 14. O Fim... Obrigado! Douglas Sandy Bonaf´ (Universidade Federal de Itajub´ No¸˜o de Search Engine e a - UNIFEI IESTI) ca 16-10-2012 14 / 14