Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Сбор данных с интернета : Теория и Решения Пишем простейший сборщик (Циклы и Продолжение)


сбор Google API в цикле

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

1. Цикл

Для этого составляем файл поисковых запросов, и модифицируем наш скрипт для сбора данных. Т.е скрипт загружает все данные из файл in\query.txt и записывает их в out\result.txt. Пауза между каждым запросом составляет 20 секунд. Т.е где-то за 20 минут мы соберем поисковые результаты по 55 запросам.

2. Продолжение

Следующий этап это сделать так чтобы если по какой-то причине, мы прервали скрипт, то чтобы при следующем его запуске он продолжил с прерванного нами места. Например выключили свет, пропал интернет или еще что-то случилось. Для этого делаем так чтобы скрипт помнил последнее место работы : для этого мы ввели файл in\continue.txt, куда записываем номер строки последнего собранного запроса (начиная с нуля). И при следующем старте скрипт продолжит с того места, на котором остановился.

лог запроса Google API в цикле

Вывод

Таким образом мы получили робота, которые не спешно собирает поисковые результаты по заданным запросам. Объем сбора примерно 4000 поисковых запросов в сутки (пауза 20 секунд на запрос), что конечно маловато, зато бесплатно. В следующем посте я перейду к рассказу о том как запускать этот скрипт в нескольких экземплярах. Это всегда нужно чтобы ускорить сбор данных. Вначале я коснусь такого момента как использование прокси серверов, чтобы организовать сбор с одной машины по максимуму.

Материалы

Весь исходный код по этой статье можноскачать здесь. Руководство "Как запустить этот и другие PHP скрипты с этого сайта" всегда можно найтиздесь.


В избранное