Есть текстовый файл с поисковыми запросами, каждый запрос - одна строка, нужно подставить эти запросы в поиск гуглу и яндексу и вывести для каждого из них первый результат (URL) в выдаче поисковиков ...
Скрипт для поиска фраз в гугле на сайтах из списка
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.
Есть список из фраз, которые надо искать (несколько сотен). Находятся в текстовом файле, по 1 фразе на строке.
Есть список URLов сайтов (домены 2го уровня или 3го). Находятся в текстовом файле, по 1 УРЛу на строке.
Надо написать утилиту (скрипт с интерфейсом командной строки), которая будет искать каждую из фраз на каждом сайте, в гугле, кроме сайтов, на которых фраза была найдена в предыдущий прогон.
Утилита желательна с интерфейсом командной строки. Аргументы командной строки:
[имя файла c фразами] [имя файла c УПЛами сайтов]
Искомую фразу окружаьт в кавычки (чтобы было точное соответствие). То есть искать в гугле делать данный запрос:
site:sitename.com "text to search"
Как сохранять результаты сохранять в БД (mysql) :
Есть таблица
create table searchresults (site char(100), phrase char(100),url char(300),searchid char(40),
state ENUM('accepted', 'unknown', 'rejected')
);
site это имя сайта где ищем
phrase - что ишем, без кавычек
url - где это найдено
searchid - последний аргумент командной строки скрипта.
state - засчитали ли мы урл как годный
Алгоритм:
Для каждой фразы {
print STDERR "searching for $phrase";
Для каждого сайта {
смотрим есть ли для данной phrase & site запись where state='accepted'
Если есть - переходим к следующему сайту.
Делаем поиск в гугле.
Для каждого найденного урла в гугле {
проверить что в таблице searchresults для данного url & phrase нет записи с любым state. Если есть - ничего не делаем. Если нет - добавляем запись c state='unknown'.
}
}
}
После окончания работы скрипта - печатаем на STDERR кол-во добавленных в бд записей.
Скорее всего не на каждом сайте будет находится хоть одна фраза!!
Логин-пароль-host-dbname - к БД мы будем задавть прямо в исходном коде. Так что вынесите это куда-нибудь в константы.
Надо помнить, что гугл будет показывать капчи после какого-то по счету очередного запроса! Возможно придется исопльзовать несколько проксей чтобы это обойти. Надо разобраться, когда начинаются показываться капчти - нам будет достаточно если будет делаться даже всего 5-10 запросов в секунду. исследуйте этот вопрос и скажите сколько поисков в единицу времени дает делать гугл без каптчи - ибо капчу ручками нам вводить не допустимо.
Производительность и эффективность нам не важна, это будет запускаться ручками не чаще раза в день, можем подождать результатов хоть 10 часов.
Писать надо на скриптовом языке (типа php/perl/python/ruby). Всякие компилируемые дельфи, с,с++ а также .net - нежелательны.
При выставлении заявки пишите на каком языке будете делать.
Выбранный исполнитель
Заявки фрилансеров
Похожие заказы
- Прикладное ПО1 исполнительЗавершен12 лет назад
Задание в приложенном файле. Срок - желательно быстро (2-3 дня). Жду предложений по цене
Прикладное ПО4 заявкиЗакрыт12 лет назадИсходные данные: есть небольшой металлический диск белого или серого цвета, 2-3мм толщиной, вращающийся со скоростью около 1 оборота в секунду, возможно даже медленнее. На диске есть полоса-отметка, красного или черного цвета. Задача: ...
Прикладное ПО2 заявкиЗакрыт12 лет назадИсходный код должен быть написан на Матлабе. Распознание будет выделятся с любого изображения на котором будет имется машина с номером. В остальных случаях распознания не должно работать. Прошу представить цены,сроки. ...
Прикладное ПО1 заявкаЗакрыт12 лет назадТребуется ОПЫТНЫЙ разработчик программ. Непрофессионалов не беспокоить! Надо создать программу для такси, аналог программы Taxi Driver, только лучше! Подробности по тел. 89149188349 (Иркутск)
Прикладное ПО4 заявкиЗакрыт12 лет назад- $50
Необходимо сделать функцию для получения выдачи Google за определенную дату (или диапазон дан). При этом необходимо делать без использоваться компонентов браузера. На скриншотах показал, как дата задается пользователем. Я уже пробовал сделать аналогичную функцию (подставить ...
Прикладное ПО1 заявкаЗакрыт12 лет назад нужен простой bat-файл или что-то другое, что смогло бы переименовывать файлы в папке (где лежит bat-файл) по определенному шаблону: 1. считаем сколько файлов в папке 2. каждому файлу в начале название файла ...
Прикладное ПО12 заявокЗакрыт12 лет назадПоставщики присылают прайсы в экселе, нам же нужно данные трансформировать вXML. Есть стандартный вид xml файла для загрузки новых товарных предложений в магазин на Битриксе, также через данный файл можно обновлять данные ранее загруженных товаров ...
Прикладное ПО6 заявокЗакрыт12 лет назад- $250
Требуется реализовать несколько форм, и контролов на WPF для WinRT. - Реализовать формы по дизайну. - Реализовать форму выбора услуг. - Реализовать итоговую форму. - Реализовать контроль управления выбора ...
Прикладное ПО3 заявкиЗакрыт12 лет назад ТЗ: В документе уже есть текстовые марки. Каждая из них уже обрабатывается отдельной функцией этого макроса. Надо добавить ещё одну текстовую марку и для неё ещё одну функцию. Текстовая марка ...
Прикладное ПО1 заявкаЗакрыт12 лет назад