PHP: как интерпретировать Google URL - PullRequest
0 голосов
/ 23 февраля 2012

Я хотел бы получить советы о том, как заставить этот скрипт интерпретировать URL-адрес Google, как если бы я проводил исследование на Google

.
<?php 

$ch = curl_init(); 
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, 'http://www.google.com/?q=cr#hl=fr&q=help+me+please&psj=1&oq=variable+get+google+recherche&fp=1/'); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
$file_contents = curl_exec($ch); 
curl_close($ch); 
$lines = array(); 
$lines = explode("\n", $file_contents); 

foreach($lines as $line_num => $line) { 
echo "Line # {$line_num} : ".htmlspecialchars($line)."<br />\n"; 
} 

?>

Это то, с чем я пришел, но когда я пробую это на своем сервере, я получаю только исходный код google.com, а не исходный код со страницы Google после исследования.

Кто-нибудь может мне помочь? спасибо: D

Ответы [ 2 ]

0 голосов
/ 20 июля 2014

вы можете использовать Google Mobile view

http://www.google.com/gwt/x?u=http%3A%2F%2Fwww.google.com%2Fsearch%3Fq%3Dkeyword&btnGo=Go&source=wax&ie=UTF-8&oe=UTF-8

или Вы можете использовать Google API для получения результатов поиска Google в формате json

Для веб-поиска http://ajax.googleapis.com/ajax/services/search/web?q=keyword&v=1.0&start=8&rsz=8

Для поиска изображения http://ajax.googleapis.com/ajax/services/search/images?q=keyword&v=1.0&start=8&rsz=8

Для поиска видео http://ajax.googleapis.com/ajax/services/search/video?q=keyword&v=1.0&start=8&rsz=8

0 голосов
/ 23 февраля 2012

Это не самый лучший способ сделать это.

API пользовательского поиска JSON / Atom сделает то, что вы хотите. http://code.google.com/apis/customsearch/v1/overview.html

Для Yahoo, BOSS API: http://developer.yahoo.com/search/boss/

А для Bing: http://www.bing.com/toolbox/bingdeveloper/

Кроме того, причина, по которой ваш CURL не дает нужных вам результатов, заключается в том, что поисковый запрос находится за хешем в URL. Это означает, что Google извлекает результаты через ajax. Вам нужно будет найти способ напрямую передать строку запроса на страницу результатов Google.

Вы можете попытаться смоделировать это, отключив JavaScript в своем браузере, выполнив поиск и скопировав полученный URL.

Для ленивых это: http://www.google.com/search?hl=en&q=test+search

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...