Написать парсеры
Нужен скрипт, логика следующая:
1) К скрипту обращаются либо напрямую, либо с GET параметрами (IP, логин, пароль) – во втором случае скрипт должен работать через прокси, в первом без них.
2) При обращении, скрипт проверяет, есть ли в базе "поисковые слова" (далее – запросы) с отметкой 0. Если есть, то берет один запрос и переходит к пункту 4, если нет – то пункту 3.
3) Обращаемся к
https://export.yandex.ru/last/last20x.xml
Берем запросы, где found меньше определенного числа (выставляется в конфиге), кладем их в базу с пометкой 0 и переходим к пункту 2.
4) Переходим
https://www.flickr.com/search/?text={КЛЮЧЕВИК}
и берем урл первой картинки и вставляем в базу в виде тега картинки – img src. Если ничего нет, идем к пункту 5, если произошла ошибка (бан, или что-то еще) – нужно писать в отдельную таблицу/файл лог. Его структура в конце
5) Переходим на
http://www.youtube.com/results?search_query={КЛЮЧЕВИК}
Берем первое видео, записываем в виде iframe вставки. С ошибками тоже самое
6) Переходим на
https://news.yandex.ru/yandsearch?text={КЛЮЧЕВИК}&rpt=nnews2
берем первые N (выставляется в конфиге) новостей – картинка, заголовок, анонс, время. Вырезаем ссылки.
С ошибками действуем стандартно
7) Переходим на
https://www.google.com/search?tbm=bks&q={КЛЮЧЕВИК}
Тоже самое что с яндекс новостями, первые N (выставляется в конфиге) штук.
С ошибками действуем стандартно
8) Переходим
Из пункта 7 берем рандомную ссылку, переходим по ней, и ищем div, длина текста в котором больше N (выставляется в админке) символов. Если такого не находим, ищем по всем остальным ссылкам.
С ошибками действуем стандартно
9) Ставим запросу статус 1 в базе. Если ошибки или пусто по всем 5 парсерам – пишем в лог
10 )Структура лога: число и время, что за сервис, по возможности что за ошибка, запрос
При накапливании N (выставляется в админке) числа ошибок подряд (ошибки однотипные, например flickr не отдает картинки по какой-то причине – может верстка сменилась и т.п.), нужно отправлять email.
Так что видимо записывать придется и успешные действия.
Если логи храните в базе – нужно будет читалка логов, с get параметрами, какие логи выводить (тип парсера), промежуток даты, коилчество штук.
11) При появлении капчи (в частности в гугле и яндексе) – нужно научить ее распозновать с помощью antigate.com
При появлении капч N (в конфиге) раз подряд – ставить какую-то пометку в отдельной таблице, чтобы все запуски скрипта с этого прокси адреса были неудачными на N минут (в конфиге выставлять на сколько), а также отправлять email
12) Каждый парсер нужно писать в отдельном подключаемом файле, чтобы понимать что где находится.
13) Где есть API (youtube например, или google books) можно использовать API, но нужно согласовать и посмотреть лимиты.
Работаю без предоплат, возможна FairPay или поэтапная оплата.
Ваш бюджет – один из критериев выбора исполнителя