Apresentação
E
u
Rodrigo de Sales da Silva
• Bacharel em Ciência da Computação
• MBA em Tecnologia da Informação
• webdev@...
Objetivo
Encontrar
Informação
Motivação
• Como monitorar seu concorrente?
• Atualizações em agregadores de notícias?
• Pretende automatizar procedimento...
Oque fazer?
Requisiçã
o
HTTP
Parsing
dos dados
cURL regexp
Protocolo HTTP
http://www.w3.org/Protocols/rfc2616/rfc2616.html
The Hypertext Transfer Protocol (HTTP) is
an application-l...
Protocolo HTTP
The HTTP protocol is a request/response protoco
1.4 Overall Operation
Client URL Library - cURL
• http
• https
• ftp
• gopher
• telnet
• dict
• file
• ldap
Todas as funções foram adicionadas n...
cURL - Começando
cURL - obtendo o retorno
cURL - header
cURL - redirects
cURL - timeout
cURL - SSL
cURL - user-agent
getUserAgent() == http://www.user-agents.org
cURL - proxies
proxy4free.com
freeproxysite.com
Squid
cURL - Cookies
Obs.: Não esquecer de ajustar as permissões do
arquivo.
cURL – GET e POST
cURL
http://us2.php.net/manual/en/function.curl-setopt.php
Mais informações:
Expressões Regulares
• São formas concisas e flexíveis de identificar
cadeias de caracteres. (wikipedia.org)
• preg_match(...
regexp
• Metacaracteres: a-z, 0-9
• Coringa Ponto: ma.
• Lista: [012], [a-z]
• Lista Negada: [^0-9]
• Opcional: ?
• Zero o...
regexp
• Algoritmos Gulosos x Algoritmos Preguiçosos
• Grupos: boa-(tarde|noite)
• Grupos nomeados: (?P<name>)
• Back refe...
pcntl – Process Control
• Oque é?
• Para que serve?
• Como funciona?
pcntl
pcntl
• Oque esse código gera?
• 1? 2? Nada? Tudo?
pcntl
pcntl
• posix_getpid();
• posix_getppid();
• posix_get_last_error();
php.net/manual/en/ref.posix.php
pctl
• Praticamente toda informação que
necessitamos está disponível na web.
• Capturar, entender e armazenar, depende só
de vo...
Obrigado, =)
WebCrawling Utilizando PHP
Próximos SlideShares
Carregando em…5
×

WebCrawling Utilizando PHP

3.262 visualizações

Publicada em

Como capturar páginas e reconhecer padrões utilizando PHP. Como construir webcrawlers e obter informações da web utilizando php, processamento paralelo com pcntl, módulo curl e expressões regulares.

Publicada em: Tecnologia
4 comentários
5 gostaram
Estatísticas
Notas
  • Rafael, eu utilizo pcntl no linux, até onde eu sei no windows não funciona (lembro que pesquisei sobre isso, não sei se já conseguiram fazer funcionar). Mas todas as execuções do pcntl são feitas pelo console, nada de webservers.
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • Bom Rodrigo, estava procurando informações sobre o PCNTL no google, e acabei achando esse post (?).
    Gostaria de saber qual SO você esta usando, e se usa algum WebServer que tenha o PCNTL, estou procurando algum, para o windows, que tenha essa extensão à algum tempo, mas até agora nada.
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • Oi Alexsandro, utilizo pcntl para fazer processamento paralelo e acelerar o processo de crawling, reconhecimento dos padrões e a persistência dos dados.

    Até mais!
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • Ola Rodrigo, muito boa apresentação, parabens gostei muito e estou com uma dúvida.
    Por que o uso de pcntl?

    Obrigado
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
Sem downloads
Visualizações
Visualizações totais
3.262
No SlideShare
0
A partir de incorporações
0
Número de incorporações
206
Ações
Compartilhamentos
0
Downloads
54
Comentários
4
Gostaram
5
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

WebCrawling Utilizando PHP

  1. 1. Apresentação E u Rodrigo de Sales da Silva • Bacharel em Ciência da Computação • MBA em Tecnologia da Informação • webdev@mestreseo • sysadmin@mestreseo • webcrawling • data mining • reconhecimento de padrões • data mining
  2. 2. Objetivo Encontrar Informação
  3. 3. Motivação • Como monitorar seu concorrente? • Atualizações em agregadores de notícias? • Pretende automatizar procedimentos? • Verificar posições em mecanismos de busca?
  4. 4. Oque fazer? Requisiçã o HTTP Parsing dos dados cURL regexp
  5. 5. Protocolo HTTP http://www.w3.org/Protocols/rfc2616/rfc2616.html The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. HTTP has been in use by the World-Wide Web global information initiative since 1990.
  6. 6. Protocolo HTTP The HTTP protocol is a request/response protoco 1.4 Overall Operation
  7. 7. Client URL Library - cURL • http • https • ftp • gopher • telnet • dict • file • ldap Todas as funções foram adicionadas no PHP 4.0.2
  8. 8. cURL - Começando
  9. 9. cURL - obtendo o retorno
  10. 10. cURL - header
  11. 11. cURL - redirects
  12. 12. cURL - timeout
  13. 13. cURL - SSL
  14. 14. cURL - user-agent getUserAgent() == http://www.user-agents.org
  15. 15. cURL - proxies proxy4free.com freeproxysite.com Squid
  16. 16. cURL - Cookies Obs.: Não esquecer de ajustar as permissões do arquivo.
  17. 17. cURL – GET e POST
  18. 18. cURL http://us2.php.net/manual/en/function.curl-setopt.php Mais informações:
  19. 19. Expressões Regulares • São formas concisas e flexíveis de identificar cadeias de caracteres. (wikipedia.org) • preg_match() • preg_match_all() • preg_split () • preg_grep() • preg_replace() • preg_quote() • preg_filter () • .....
  20. 20. regexp • Metacaracteres: a-z, 0-9 • Coringa Ponto: ma. • Lista: [012], [a-z] • Lista Negada: [^0-9] • Opcional: ? • Zero ou mais: * • Um ou mais: + • Quantidades: {n, m} • Inicio de Linha: ^ • Final de Linha: $ • Escape:
  21. 21. regexp • Algoritmos Gulosos x Algoritmos Preguiçosos • Grupos: boa-(tarde|noite) • Grupos nomeados: (?P<name>) • Back reference: 1, 2 Mais informações: guia-er.sourceforge.net
  22. 22. pcntl – Process Control • Oque é? • Para que serve? • Como funciona?
  23. 23. pcntl
  24. 24. pcntl • Oque esse código gera? • 1? 2? Nada? Tudo?
  25. 25. pcntl
  26. 26. pcntl • posix_getpid(); • posix_getppid(); • posix_get_last_error(); php.net/manual/en/ref.posix.php
  27. 27. pctl
  28. 28. • Praticamente toda informação que necessitamos está disponível na web. • Capturar, entender e armazenar, depende só de você. • As ferramentas estão aí para serem utilizadas. • Perguntas??? Concluindo
  29. 29. Obrigado, =)

×