Очистка результатов Google Android с помощью phpQuery - PullRequest
0 голосов
/ 17 февраля 2019

Я очищаю рейтинг Google с помощью этого сценария:

<?php

include("phpQuery-onefile.php");
$url = "https://www.google.com/search?hl=en&output=search&start=1&q=shoes";

$ch = curl_init($url);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$page = curl_exec($ch);
curl_close($ch);

$doc = phpQuery::newDocument($page);

echo $doc['#ires cite'];

?>

Я получаю URL-адреса из фрагмента Google (тот, что под заголовком зеленого цвета).Он использовал библиотеку phpQuery, которая автоматизирует процесс.Я ищу все "cites" в Div с id # ires.

Это прекрасно работает, проблема начинается с мобильной версии:

<?php

include("phpQuery-onefile.php");
$url = "https://www.google.com/search?hl=en&output=search&start=1&q=shoes";

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Linux; Android 7.1; Mi A1 Build/N2G47H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.83 Mobile Safari/537.36');
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$page = curl_exec($ch);
curl_close($ch);

$doc = phpQuery::newDocument($page);

echo $doc['#ires cite'];

?>

Я добавляю агент Android в Curl, и Google показывает мобильную версию, которая имеет другие стили.Ниже заголовка не отображается адрес, но адрес отображается в аналогичном формате.

Я могу проверить позиции, но не сохранить полный URL-адрес, поэтому мне придется получить его с href.

Это моя проблема, я не могу получить полный URL, кто-то может мне помочь?

Я оставляю часть исходного кода на странице мобильной версии Google.(фрагмент)

Заранее спасибо

<div>

<a class="C8nzq BmP5tf" href="/url?sa=t&amp;source=web&amp;rct=j&amp;url=https://m.6pm.com/shoes&amp;ved=2ahUKEwjIn8mcosDgAhXxwVkKHT1gDF04ARAWMAB6BAgFEAE&amp;usg=AOvVaw1j59lxT1UHTjMA9CBFqgkQ" oncontextmenu="google.ctpacw.cm(this)">

<div aria-level="3" role="heading" class="MUxGbd v0nnCb">Shoes on Sale | 6pm</div>

<div class="zbELhe MUxGbd lyLwlc aLF0Z">

<span class="qzEoUe">https://m.6pm.com › shoes</span>

</div>

</a>

</div>
...