Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Есть список из фраз, которые надо искать (несколько сотен). Находятся в текстовом файле, по 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 - нежелательны.

При выставлении заявки пишите на каком языке будете делать.

11 лет назад
vh213
45 летРоссия
16 лет в сервисе
Был
8 лет назад
Выбранный исполнитель
Comeonandroid
Илья 
32 годаРоссия
11 лет в сервисе
Был
10 лет назад
11 лет назад
$20
2 дня
Илья отлично понял суть задачи, провел необходимые длительные исследования (чтобы выяснить поведение поисковых систем, задействованных в задаче), и написал код который точно делал то, что мы хотели, и даже немного больше. Нам очень понравилось работать с Ильей.
Заказчик показал себя на самом высоком уровне, начиная с ТЗ в котором был доскональна расписан весь алгоритм и sql-запросы, заканчивая самостоятельной правкой кода в необходимых местах. Если вас нанял Владимир, считайте, что вам повезло с работой.
  • Похожие заказы
  • Есть текстовый файл с поисковыми запросами, каждый запрос - одна строка, нужно подставить эти запросы в поиск гуглу и яндексу и вывести для каждого из них первый результат (URL) в выдаче поисковиков Также рассмотрю вариант со ...

    Прикладное ПО1 исполнитель
    Завершен
    11 лет назад
  • Исходные данные: есть небольшой металлический диск белого или серого цвета, 2-3мм толщиной, вращающийся со скоростью около 1 оборота в секунду, возможно даже медленнее. На диске есть полоса-отметка, красного или черного цвета. Задача: с помощью камеры андроид-телефона ...

    Закрыт
    11 лет назад
  • Исходный код должен быть написан на Матлабе. Распознание будет выделятся с любого изображения на котором будет имется машина с номером. В остальных случаях распознания не должно работать. Прошу представить цены,сроки. Удачной работы!

    Закрыт
    11 лет назад
  • Требуется ОПЫТНЫЙ разработчик программ. Непрофессионалов не беспокоить! Надо создать программу для такси, аналог программы Taxi Driver, только лучше! Подробности по тел. 89149188349 (Иркутск)

    Закрыт
    11 лет назад
  • $50

    Необходимо сделать функцию для получения выдачи Google за определенную дату (или диапазон дан). При этом необходимо делать без использоваться компонентов браузера. На скриншотах показал, как дата задается пользователем. Я уже пробовал сделать аналогичную функцию (подставить ...

    Закрыт
    11 лет назад
  • нужен простой bat-файл или что-то другое, что смогло бы переименовывать файлы в папке (где лежит bat-файл) по определенному шаблону: 1. считаем сколько файлов в папке 2. каждому файлу в начале название файла подставляется число в случайном ...

    Закрыт
    11 лет назад
  • Поставщики присылают прайсы в экселе, нам же нужно данные трансформировать вXML. Есть стандартный вид xml файла для загрузки новых товарных предложений в магазин на Битриксе, также через данный файл можно обновлять данные ранее загруженных товаров ...

    Закрыт
    11 лет назад
  • $250

    Требуется реализовать несколько форм, и контролов на WPF для WinRT. - Реализовать формы по дизайну. - Реализовать форму выбора услуг. - Реализовать итоговую форму. - Реализовать контроль управления выбора авиабилетов.

    Закрыт
    11 лет назад
  • ТЗ: В документе уже есть текстовые марки. Каждая из них уже обрабатывается отдельной функцией этого макроса. Надо добавить ещё одну текстовую марку и для неё ещё одну функцию. Текстовая марка имеет такой вид: {NUMBER.C} Сделаная для под эту текстовую ...

    Закрыт
    11 лет назад