Как получить количество результатов, найденных по ключевому слову в Google

StackOverflow https://stackoverflow.com/questions/1809976

Вопрос

Мне нужно указать ключевое слово, такое как "чайник из голубого металла". (с / без кавычек) и получить только количество результатов, найденных для этого поиска. Если я буду искать без кавычек прямо сейчас, я получу:

 Results 1 - 10 of about 1,040,000 for blue metal kettle. (0.19 seconds)

Здесь «1 040 000» - это число, которое я хочу. Есть ли какая-либо функция API для этого, или я должен извлечь это число через HTML? Какой лучший способ сделать это?

Это было полезно?

Решение

В API Google Ajax в JSON есть оценочное свойство ResultsCount, но вы можете прочитать о неразрешенных жалобах, поданных в систему отслеживания проблем:

  

Количество результатов варьируется
   http://code.google.com/p/ Google-Ajax-интерфейсы API / вопросы / детали? ID = 32

(я вижу, вопрос помечен как PHP, но javascript на стороне клиента в сочетании может быть интересен.)

Другие советы

Вы можете скрести его. Что-то вроде:

$keywords = "blue metal kettle";
$html = file_get_contents("http://www.google.com/?q=" . rawurlencode($keywords));
preg_match('/Results 1 - \d+ of about ([0-9,]+) for/', $html, $reg);
var_dump($reg[1]);

Если вы используете это в приложении, вы, вероятно, нарушите условия использования Google.

Google закрыл свой API для публичного использования довольно давно. Если вы хотите использовать поддерживаемый API, проверьте API Bing, который предоставляет это как часть своих результатов. В противном случае, вы можете отказаться от HTML. Имейте в виду, что вы показали форматирование для нас / английских чисел. Форматирование может отличаться на других сайтах Google и / или в настройках вашего профиля, и / или в настройках вашего браузера.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top