Требуется разработать приложение (вэб или десктоп)

Цена договорная • наличный расчёт, безналичный расчёт
26 апреля 2018, 13:12 • 6 откликов • 122 просмотра
Описание Требуется разработать приложение реализующее следующий функционал:

  1. Парсинг вэб-ресурсов из списка определенного в ТЗ по определенным в ТЗ параметрам
  2. Поиск в полученном контенте (PDF и html) ключевых слов из заданного списка (без учета морфологии)
  3. Поиск в полученном контенте (PDF и html) исключающих слов из заданного списка (без учета морфологии)
  4. Поиск найденного контента в уже существующей базе данных решений (IBM SPSS или выгрузки из него)
  5. Классификация найденного контента и его запись в CSV файл на жесткий диск.


Порядок работы с приложением со стороны пользователя будет такой:
  1. Пользователь запускает приложение или заходит на его вэб-интерфейс по специальному локальному адресу через браузер.
  2. Пользователь указывает список ключевых слов для поиска в специальной форме. Количество ключевых слов варьируется от 1 до ~300.
  3. Пользователь указывает список исключающих слов для поиска в специальной форме. Количество исключающих слов варьируется от 0 до ~300.
  4. Пользователь выбирает диапазон дат
  5. Пользователь выбирает чекбоксами ресурсы из списка в которых будет происходить поиск.
  6. Пользователь выбирает место для сохранения файла с результатами поиска.
  7. По желанию пользователь вводит список прокси серверов в виде списка в текстовое поле, где каждый сервер указан на новой строке включая порт и опциональную аутентификацию (этот момент требуется обсудить)
  8. Пользователь указывает файл с базой данных уже найденных ранее решений. Это будет выгрузка из IBM SPSS. Также возможно реализовать прямую интеграцию с SPSS. Это требуется для того чтобы в результирующий файл не попали ранее добавленные решения. (Обсуждается)
  9. Пользователь запускает запускает поиск.
  10. Интерфейс отображает прогресс выполнения поиска и статус
    1. Количество найденных единиц контента
    2. Количество обработанных единиц контента
    3. Текущая дата обработка которой происходит
    4. (опционально) какой вэб-ресурс обрабатывается в данный момент, если обработка будет идти поочередно, например.
    5. (если возможно) общий прогресс, если возможно получить вначале весь список ссылок на документы.
    6. (если возможно) примерное время ожидания до завершения.
  11. Пользователь закрывает браузер (если это вэб-приложение)
  12. Пользователь открывает браузер спустя некоторое время и заходит в вэб-интерфейс по специальному локальному адресу (если это вэб-приложение)
  13. Интерфейс отображает текущий статус выполнения задачи (см. п.8).
  14. Пользователь может остановить процесс при этом результаты, которые были получены на момент остановки процесса должны быть сохранены в указанный пользователем файл.
  15. В случае возникновения ошибок во время работы самого приложения или во время процесса поиска требуется записывать их в специальный файл на жестком диске.
  16. Ошибки возникшие в процессе текущего поиска требуется отображать в интерфейсе под статусом поиска, чтобы пользователь мог принять решение об остановке поиска.
Общие требования и предложения
  1. Приложение может быть реализовано либо виде локально запускаемого вэб-приложения (например, связка Nodejs+Python), либо в виде десктоп приложения.
  2. Если будет выбран метод реализации “вэб-приложение”, то должна быть возможность запускать его локально без загрузки на сторонний хостинг и установки дополнительного софта на компьютер (требуется обсудить).
  3. Ключевая часть (сервис парсинга и поиска) может быть реализована как отдельное приложение (например на Python, по выбору разработчика). Также эта часть вэб-приложения может быть реализована в самом сервере обслуживающим вэб-интерфейс (метод “вэб-приложение”)
  4. Вэб приложение должно запускаться в браузере Chrome, Firefox, Safari
  5. Вэб приложение должно запускаться на платформах Windows 7+ и MacOS (обсуждается)
  6. Помимо запускных и скомпилированных файлов требуется предоставить не обфусцированный исходный код всех частей вэб-приложения и краткое описание настройки среды для разработки (требуемые библиотеки и ПО)
Требования к парсеру Требуется уметь производить поиск по документам со следующих ресурсов:



https://solutions.fas.gov.ru/ - картотека ФАС. На сайте представлены решения как в формате pdf (возможность скачать) так и на html-странице. Желательны в итоге ссылки не на скачивание файлов, а на страницу сайта. В данной картотеке представлены не только решения, но еще и другие судебные акты.

Пример ссылки на решение:

http://solutions.fas.gov.ru/ca/upravlenie-kontrolya-reklamy-i-nedobrosovestnoy-konkurentsii/08-19727-17



http://ras.arbitr.ru/ - картотека арбитражных судов. В разделе «банк решений» представлены только решения, они нас и интересуют. Документы представлены в виде pdf-файлов, которые открываются в браузере. На эти документы и нужны ссылки в итоговом файле.

Пример ссылки на решение:

http://kad.arbitr.ru/PdfDocument/a5e6a142-6562-4195-a77f-214e01b3baf0/df4797e4-ce9a-44c6-8216-1e1cfa0c314d/%D0%A1%D0%98%D0%9F-62-2018__20180412.pdf

У сервиса есть интерфейс поиска, возможно парсер может его использовать.



http://www.fips.ru/sitedocs/pps_all.htm

http://www.fips.ru/sitedocs/pps_expert.htm - базы Роспатента. Решения сгруппированы по дате. Внутри каждой даты список решений. При нажатии на каждое решение открывается pdf-страница.

Пример ссылки на решение:

http://www.fips.ru/ConveraDocs/pps/_new/2017/2017%D0%9200657/2017%D0%9200657-2017.10.31.pdf

У сервиса есть интерфейс поиска, возможно парсер может его использовать.







  1. Поскольку данные ресурсы могут ограничивать скорость осуществления запросов или их количество с одного IP парсер должен иметь возможность выбора/настройки ip прокси сервисов (серверов), так как на многих сайтах из списка есть ограничения по кол-ву подключений, скорости просмотра документов (пример – Роспатент). Список доступных прокси можно найти, например, тут: https://sockslist.net/proxy/server-socks-hide-ip-address#proxylist
    Как настраиваются прокси пользователем вэб-приложения можно посмотреть в секции “порядок работы с вэб-приложением”
  2. Парсер должен производить поиск исключающих слов в документе и если таковые найдены переходить к следующему документу.
  3. Парсер должен производить поиск ключевых слов в документе и если таковые найдены добавлять соответствующие данные к результатам поиска в CSV файл.
  4. Если данный результат уже присутствует в CVS файле, добавлять его повторно не требуется.
  5. Если найденный документ уже присутствует в справочной базе предоставленной заранее, то найденный документ не добавляется в результирующий CVS фаил. Формат справочной базы требуется уточнить с разработчиком. В данный момент она находится в IBM SPSS но имеется возможность экспорта в CVS.
  6. Парсер должен иметь возможность работы при закрытом браузере (метод “вэб-приложение”)
  7. (важно) Если парсер неожиданно прекратил работу не закончив обрабатывать запрос требуется иметь возможность возобновить его работу с примерно того-же места через вэб-интерфейс или десктопное приложение.
Требования к CSV файлу
  1. Файл должен пополняться прямо в процессе работы поиска, поскольку поиск может занимать значительное время.
  2. Колонки файла:
    1. Ссылка на оригинальный документ решения (PDF или html).
    2. Название ресурса на котором был найден фаил.
      1. Роспатент
      2. Арбитраж
      3. ФАС
    3. Дата документа (указана на ресурсе).
    4. Название документа решения (иногда имя PDF файла не соответствует названию документа решения, но при этом в результатах поиска на ресурсах есть такие названия).
    5. Ключевые слова найденные в документе (требуется обсудить с разработчиком так как возможно результирующий файл получится слишком большим).
    6. Количество ключевых слов найденных в документе.
  3. Файл должен валидно открываться в Excel.