Ajuda Com Crawler PHP _ Mudança de páginas

24/11/2019

0

PHP

Boa tarde pessoal.

Sou iniciante em PHP e estou tentando desenvolver um crawler em PHP para um projeto. Preciso muito da ajuda de vocês.

Já consegui pegar as informações que preciso, porém o site que estou 'crawleando' só exibe 20 resultados por página. Dependendo de qual cidade é inserida no campo de busca, podemos ter X páginas para serem exibidas da 1ª a última.

As páginas seguem o mesmo padrão com a númeração no final.

Mas não estou tendo nenhuma ideia que funcione de como automatizar isso no crawler para que ele possa ler todas as páginas disponíveis.

Alguem consegue me ajudar?

Segue crawler:



<?php

require "vendor/autoload.php";

use GuzzleHttp\Client;
use Sunra\PhpSimple\HtmlDomParser;

$client = new Client([
'headers' => [
'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
]
]);

$URL = 'https://www.guiamais.com.br/encontre?searchbox=true&what=&where=S%C3%A3o+Paulo%2C+SP&page=1';

$html = $client->request("GET",$URL)->getBody();
$dom = HtmlDomParser::str_get_html($html);

foreach ($dom->find('meta[itemprop=url]') as $Key => $link){

$urlEmpresa = $link->content;

$html = $client->request("GET",$urlEmpresa)->getBody();
$domEmpresa = HtmlDomParser::str_get_html($html);

$basicsInfo = $domEmpresa->find('div.basicsInfo',0);
$extendedInfo = $domEmpresa->find('div.extendedInfo',0);

$titulo = html_entity_decode($basicsInfo->find('h1',0)->plaintext);
$categoria = html_entity_decode(trim($basicsInfo->find('p.category',0)->plaintext));

$endereco = preg_replace('/\s+/',' ',html_entity_decode(trim($extendedInfo->find('.advAddress',0)->plaintext)));

$telefones = [];
foreach($extendedInfo->find('li.detail') as $li){
$telefones[] = trim($li->plaintext);
}

echo $titulo.PHP_EOL.$categoria.PHP_EOL.$endereco.PHP_EOL;

echo'<pre>';
print_r($telefones);
echo'</pre>';

echo PHP_EOL.PHP_EOL.PHP_EOL;

}

?>


Agradeço muito a ajuda.



Abraços.
Daniel Machado

Daniel Machado

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar