четверг, 5 декабря 2013 г.

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

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

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

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

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

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

Комментариев нет:

Отправить комментарий