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
Upcoming SlideShare
Loading in …5
×

WebCrawling Utilizando PHP

3,226 views
3,135 views

Published on

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.

Published in: Technology
4 Comments
5 Likes
Statistics
Notes
  • 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.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • 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.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • 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!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Ola Rodrigo, muito boa apresentação, parabens gostei muito e estou com uma dúvida.
    Por que o uso de pcntl?

    Obrigado
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
3,226
On SlideShare
0
From Embeds
0
Number of Embeds
206
Actions
Shares
0
Downloads
54
Comments
4
Likes
5
Embeds 0
No embeds

No notes for 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, =)

×