Как написать PHP-скрипт для поиска количества индексированных страниц в Google?

Мне нужно найти количество проиндексированных страниц в Google для определенного имени домена, как мы это сделаем с помощью PHP-скрипта?

Так,

foreach ($allresponseresults as $responseresult) { $result[] = array( 'url' => $responseresult['url'], 'title' => $responseresult['title'], 'abstract' => $responseresult['content'], ); } 

что я добавляю для оценочного количества результатов и как это сделать? Я знаю, что это (оценкаResultCount), но как я могу добавить это? и я называю заголовок, например, следующим образом: $ result ['title'], и как получить номер и как напечатать номер?

Спасибо 🙂

Я думаю, было бы лучше, если бы Google использовал свой RESTful Search API. См. Этот URL для примера вызова:

http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=site:stackoverflow.com&filter=0

(Вас интересует estimatedResultCount значениеResultCount)

В PHP вы можете использовать file_get_contents для получения данных и json_decode для его анализа.

Вы можете найти документацию здесь:

http://code.google.com/apis/ajaxsearch/documentation/#fonje


пример

Предупреждение : Следующий код не имеет какой-либо проверки ошибок в ответе!

 function getGoogleCount($domain) { $content = file_get_contents('http://ajax.googleapis.com/ajax/services/' . 'search/web?v=1.0&filter=0&q=site:' . urlencode($domain)); $data = json_decode($content); return intval($data->responseData->cursor->estimatedResultCount); } echo getGoogleCount('stackoverflow.com'); 

Вы загрузите http://www.google.com/search?q=domaingoeshere.com с помощью cURL, а затем проанализируете файл, ищущий результаты <p id="resultStats" бит.

У вас будет полученный html, хранящийся в переменной $html а затем скажу что-то вроде

 $arr = explode('<p id="resultStats"'>, $html); $bottom = $arr[1]; $middle = explode('</p>', $bottom); 

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

Значение google ajax api. Значения оценкиResultCount не дают правильного значения. И попытка проанализировать html-результат не является хорошим способом, потому что блоки Google после нескольких поисков.

Подсчитайте количество результатов для site:yourdomainhere.com – stackoverflow.com имеет около 830 тыс.

 // This will give you the count what you see on search result on web page, //this code will give you the HTML content from file_get_contents header('Content-Type: text/plain'); $url = "https://www.google.com/search?q=your url"; $html = file_get_contents($url); if (FALSE === $html) { throw new Exception(sprintf('Failed to open HTTP URL "%s".', $url)); } $arr = explode('<div class="sd" id="resultStats">', $html); $bottom = $arr[1]; $middle = explode('</div>', $bottom); echo $middle[0]; Output: About 8,130 results //vKj Case 2: you can also use google api, but its count is different: https://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=ursitename&callback=processResults 

https://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=site:google.com

курсор ": {" resultCount ":" 111 000 000 "," "ratedResultCount": "111000000",