В прошлом посту я описал, как создать простейший сборщик,
который собирает поисковые результаты Google, используя Google API для одного запроса. Теперь я расскажу как сделать чтобы этот код брал поисковые результаты из файла и работал непрерывно до тех пор, пока не соберет их все.
1. Цикл
Для этого составляем файл поисковых запросов, и модифицируем наш скрипт для сбора данных. Т.е скрипт загружает все данные из файл in\query.txt и записывает их в out\result.txt. Пауза между каждым запросом составляет 20 секунд. Т.е где-то за 20 минут мы соберем поисковые результаты по 55 запросам.
Следующий этап это сделать так чтобы если по какой-то причине, мы прервали скрипт, то чтобы при следующем его запуске он продолжил с прерванного нами места. Например выключили свет, пропал интернет или еще что-то случилось. Для этого делаем так чтобы скрипт помнил последнее место работы : для этого мы ввели файл in\continue.txt, куда записываем номер строки последнего собранного запроса (начиная с нуля). И при следующем старте скрипт продолжит с того места, на котором остановился.
Вывод
Вывод
Таким образом мы получили робота, которые не спешно собирает поисковые результаты по заданным запросам. Объем сбора примерно 4000 поисковых запросов в сутки (пауза 20 секунд на запрос), что конечно маловато, зато бесплатно. В следующем посте я перейду к рассказу о том как запускать этот скрипт в нескольких экземплярах. Это всегда нужно чтобы ускорить сбор данных. Вначале я коснусь такого момента как использование прокси серверов, чтобы организовать сбор с одной машины по максимуму.
Материалы
Весь исходный код по этой статье можно скачать здесь. Руководство "Как запустить этот и другие PHP скрипты с этого сайта" всегда можно найти здесь.


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