Можно ли очистить страницу результатов поиска Google с помощью PHP, чтобы вывести общее количество найденных результатов поиска?
Если да, то как мне это сделать?
благодаря
попробуйте это, используя phpsimplehtmlparser
$search_query = 'google'; $url = sprintf('http://www.google.com/search?q=%s', $search_query); $html = file_get_html($url); $results = $html->find('#resultStats/b', 2)->innertext; echo sprintf('Google found %s results for "%s"', $results, $search_query);
Этот класс PHP делает это: http://www.phpclasses.org/browse/package/3924.html
«Этот класс можно использовать для получения общего количества результатов для данного поискового запроса Google.
Он обращается к сайту поиска Google, чтобы выполнить запрос для заданных условий поиска.
Класс анализирует страницу результатов и извлекает общее количество результатов, возвращаемых данным поисковым запросом ».
Вам потребуется куча прокси в зависимости от количества запросов, которые вы планируете отправлять. Вы можете отправлять около 500 запросов в день и IP / прокси, не вызывая проблем или обнаружения.
Вы должны прочитать статью google-rank-checker.squabbel.com, содержащую полнофункциональный скребок в PHP. Используйте этот скребок, измените его в соответствии с вашими требованиями и добавьте код phpsimplehtmlparser (другой ответ), чтобы получить общую информацию о результатах для ключевых слов.
Я предлагаю использовать libCURL для доступа к самому Google. У вас будет больше возможностей, чем при использовании более простого API, вам не будет очень весело работать с файловыми_характеристиками или аналогичными внутренними функциями php, поскольку Google скоро заблокирует ваш скрипт.
Что-то вроде этого:
curl_setopt ($ch, CURLOPT_HEADER, 0); curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt ($ch, CURLOPT_RETURNTRANSFER , 1); $curl_proxy = "$IP:$PORT"; curl_setopt($ch, CURLOPT_PROXY, $curl_proxy); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20); curl_setopt($ch, CURLOPT_TIMEOUT, 20); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.0; en; rv:1.9.0.4) Gecko/2009011913 Firefox/3.0.6"); $url = sprintf('http://www.google.com/search?q=%s', $keyword); curl_setopt ($ch, CURLOPT_URL, $url); $htmdata = curl_exec ($ch);
Теперь просто используйте regex () / substr () / strstr (), чтобы захватить данные из $ htmldata
Я использую этот скрипт PHP, чтобы узнать итоговые результаты моего имени в поиске Google.
<?php
$homepage = file_get_contents('http://www.google.co.in/search?ix=nh&sourceid=chrome&ie=UTF-8&q=Mohit+dabas');
preg_match('/(About )?([\d,]+) result/si', $homepage, $p) ;
echo $p[0];
?>
главное, что нужно заметить, – параметр «& q» в указанном выше пути
Мое имя содержит пробел, поэтому браузер добавил к нему «+»
Таким образом, вы должны проверить параметры запроса ur (т.е. & q), и если запрос ur содержит некоторые специальные
character like.,:,% и т. д., то вы должны отметить, как они обрабатываются браузером и
изменить параметры в соотв. к вашему сценарию потребности int.
srry для бедных английский