Skip to content

Задача из курса Девман

Notifications You must be signed in to change notification settings

qDes/jaundice-rate

 
 

Repository files navigation

Фильтр желтушных новостей

Веб-сервер для анализа желтушности статей.

Пока поддерживается только один новостной сайт - ИНОСМИ.РУ. Для него разработан специальный адаптер, умеющий выделять текст статьи на фоне остальной HTML разметки. Для других новостных сайтов потребуются новые адаптеры, все они будут находиться в каталоге adapters. Туда же помещен код для сайта ИНОСМИ.PY: adapters/inosmi_ru.py.

В перспективе можно создать универсальный адаптер, подходящий для всех сайтов, но его разработка будет сложной и потребует дополнительных времени и сил.

Как установить

Вам понадобится Python версии 3.7 или старше. Для установки пакетов рекомендуется создать виртуальное окружение.

Первым шагом установите пакеты:

pip install -r requirements.txt

Как запустить

python server.py

Сервер запускается по адресу http://127.0.0.1:8080/ . Ссылки на статьи для анализа передаются в параметр urls. Например запрос http://127.0.0.1:8080/?urls=https://inosmi.ru/politic/20200119/246646205.html,https://lenta.ru/news/2020/02/10/afraid/ возвращает ответ в формате json

[{"status": "PARSING_ERROR", "url": "https://lenta.ru/news/2020/02/10/afraid/", "score": null, "words_count": null}, {"status": "OK", "url": "https://inosmi.ru/politic/20200119/246646205.html", "score": 1.04, "words_count": 673}]

Как запустить тесты

Для тестирования используется pytest, тестами покрыты фрагменты кода сложные в отладке: main.py, text_tools.py и адаптеры. Команды для запуска тестов:

python -m pytest adapters/inosmi_ru.py
python -m pytest text_tools.py
python -m pytest main.py

Цели проекта

Код написан в учебных целях. Это урок из курса по веб-разработке — Девман.

About

Задача из курса Девман

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%