Как я могу получить время, когда бот Google последний раз зашел на страницу? - PullRequest
5 голосов
/ 14 октября 2011

У меня есть следующая функция для получения последней даты доступа googlebot:

<code>//get googlebot last access
function googlebot_lastaccess($domain_name)
{
    $request = 'http://webcache.googleusercontent.com/search?hl=en&q=cache:'.$domain_name.'&btnG=Google+Search&meta=';
    $data = getPageData($request);
    $spl=explode("as it appeared on",$data);
   //echo "<pre>".$spl[0]."
"; $ Spl2 = взорваться (, $ УЗД [1] "* +1003 *."); $ Значение = обрезки ($ spl2 [0]); // echo "
".$spl2[0]."
"; если (STRLEN ($ значение) == 0) { Возвращение (0); } еще { возврата ($ значения); } } echo "Googlebot last access =" .googlebot_lastaccess ($ domain_name). "
"; function getPageData ($ url) { if (function_exists ('curl_init')) { $ ch = curl_init ($ url); // инициализировать curl с указанным URL curl_setopt ($ ch, CURLOPT_USERAGENT, $ _SERVER ['HTTP_USER_AGENT']); // добавить useragent curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, true); // записать ответ в переменную if ((ini_get ('open_basedir') == '') && (ini_get ('safe_mode') == 'Off')) { curl_setopt ($ ch, CURLOPT_FOLLOWLOCATION, true); // следовать перенаправлениям, если таковые имеются } curl_setopt ($ ch, CURLOPT_CONNECTTIMEOUT, 5); // Макс. секунды, чтобы выполнить curl_setopt ($ ch, CURLOPT_FAILONERROR, 1); // остановка при обнаружении ошибки return @curl_exec ($ ch); } еще { return @file_get_contents ($ url); } }

Но этот скрипт выводит меня в результате как снимок всей страницы на экране, т.е. вся страница кэшируется в гугле, но я хочу захватить только дату и время после слов as it appeared on и распечатать ее, т. е .: 8 Oct 2011 14:03:12 GMT.

Как?

Ответы [ 2 ]

5 голосов
/ 14 октября 2011

Изменить эту строку:

echo "Googlebot last access = ".googlebot_lastaccess($domain_name)."<br />";

с этим:

$content = googlebot_lastaccess($domain_name);
$date = substr($content , 0, strpos($content, 'GMT') + strlen('GMT'));
echo "Googlebot last access = ".$date."<br />"; 
3 голосов
/ 15 ноября 2012

Зачем запрашивать у Google информацию о том, когда он последний раз был на вашем сайте, когда вы можете обнаружить робота Googlebot на своем сайте и на каких страницах он находится?Это также позволит вам отследить, куда ушел робот Google с помощью простой функции записи в базу данных.

См. Вопрос переполнения стека как обнаружить ботов из поисковых систем с php?

...