Пишем простейший сборщик, использующий Google API на PHP. (Прокси)

сбор Google API через пркоси

сбор Google API через пркоси

В прошлом посту я описал, как создать  сборщик, который собирает поисковые результаты Google, используя Google API в цикле с возможностью прерывания и продолжения. Теперь я расскажу как сделать чтобы этот код работал быстрее. Для этого я уберу паузы между запросами и сделаю запрос к Web API через прокси.

1. Запрос Google API через прокси

Для этого я модифицирую код запроса Google Web API : как видно из кода в функцию добавился параметр $use_proxy, который указывает что для запроса надо использовать прокси сервера. Прокси сервера у нас будут расположены в файле in\proxies.txt и будут выбираться случайно при каждом запросе. Кроме того хочу обратить внимание что в параметры CURL — запроса введены следующие опции :

  • CURLOPT_HEADER — не получать http заголовок (это отменит передачу ненужного нам заголовка)
  • CURLOPT_ENCODING — данные запроса сжимаются gzip (это уменьшит размер передаваемой информации)
  • CURLOPT_PROXY — собственно то, что мы будем использовать прокси (это ускорит процесс сбора)
  • CURLOPT_TIMEOUT — максимальное время обработки запроса (это отсеет медленные прокси)

2. Код запуска сбора Поисковых результатов

Теперь сам запускающий сбор данных код : здесь я убрал паузы между запросами и при плохом запросе. И добавил переменную которая будет отсекать медленные прокси — $proxy_timeout=2 (секунды). И при запросе Google API теперь указываю что нужно использовать прокси.

лог работы с Google API через прокси

лог работы с Google API через прокси

Вывод

Запустив этот код сбора на выполнение, мы получаем что 55 запросов прошло примерно за 150 секунд. Т.е за сутки мы получим около 28000 собранных запросов или почти 100 000 поисковых результатов (это на бесплатных прокси серверах). В принципе неплохо для одной машины в один поток, но это еще не предел. В следующем посту я расскажу как это промасштабировать чтобы получать скажем в 100 раз больше c одной машины.

Метериалы

Весь исходный код по этой статье можно скачать здесь. Руководство «Как запустить этот и другие PHP скрипты с этого сайта» всегда можно найти здесь. Где взять платные и бесплатные прокси сервера, можно найти здесь.

Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники
Опубликовать в Яндекс
Опубликовано в PHP, Использование Web API, Обучение Метки: , , , ,
Сентябрь 2021
Пн Вт Ср Чт Пт Сб Вс
« Фев    
 12345
6789101112
13141516171819
20212223242526
27282930