Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá a todos, estou desenvolvendo um crawler, mas estou tendo dificuldades em obter os dados da página.
Deixa eu explicar de forma detalhada
O crawler enxerga o html que a página gera, e tudo bem, a idéia é essa mesmo.
Estou buscando o "H1" da página e o crawler não encontra.
Quando acesso o site pelo navegador e clico em "ver código fonte" verifico que realmente o "H1" não existe, mas quando peço para "inspecionar elemento" pelo navegador o "H1" está lá, justamente na página que estou fazendo a pesquisa com o crawler.
Alguém me dá uma luz de como posso obter esses dados?
Só complementado. Não apenas AJAX, interações realizadas por javascript, são interpretadas pelo browser. O PHP não interpretará ou executará conteúdo dinâmico.
>
17 horas atrás, Gabriel Heming disse:
Só complementado. Não apenas AJAX, interações realizadas por javascript, são interpretadas pelo browser. O PHP não interpretará ou executará conteúdo dinâmico.
Então não conseguirei obter os dados através do PHP? Nem com phpwebdriver?
Chegou a tentar com o WebDriver, Dampa?
>
12 minutos atrás, Maykel-ctba disse:
Chegou a tentar com o WebDriver, Dampa?
Estou apanhando aqui, pois essa será uma aplicação online, até baixei o webdriver do facebook no github, mas não tenho idéia de como funciona.
Estou buscando no google como utilizar, mas o conteúdo é pouco
Isso aqui pode te ajudar?
http://desenvolvimentoparaweb.com/php/como-pegar-parte-do-conteudo-dados-de-outro-site-com-php/
@Rodrigo Vieira E da Silva Acho que você não leu o tópico. O conteúdo é gerenciado dinamicamente, após o carregamento do browser, portanto estas soluções comuns não se aplicam.
@DAMPA Na boa? Eu desistiria de pegar o conteúdo de outro site.
Maykel-ctba, tá bom obrigado pela a dica.
>
Em 28/03/2017 at 16:50, Maykel-ctba disse:
@Rodrigo Vieira E da Silva Acho que você não leu o tópico. O conteúdo é gerenciado dinamicamente, após o carregamento do browser, portanto estas soluções comuns não se aplicam.
@DAMPA Na boa? Eu desistiria de pegar o conteúdo de outro site.
O cliente quer obter esses dados, então terei que ralar para encontrar uma solução
Obrigado pelo feedback
Contatar o site que disponibiliza esses dados, perguntando se rola fazer uma API ou algo do gênero?
Ou então chamar diretamente a chamada que ocorre em Ajax.
Ex:
index.php (ocorre uma chamada para a pagina 'header.php' e outra de 'dados.php'... ambas via ajax)
@ Dica:
Monitora a aba Network filtra pro XHR e você vai ver todas as chamadas que ocorrem de Ajax ;)
Acho a solução da API mais sensata. Desta maneira, também não parece ser "roubo" de informação. haha
Provavelmente o H1 está vindo após a renderização da página... talvez via AJAX.
Com uma simples consulta no Google, encontrei isso:
http://stackoverflow.com/questions/28186645/php-get-page-content-after-all-dynamic-content-has-been-loaded
Veja se a resposta te ajuda.