Веб-сервер для анализа желтушности статей.
Пока поддерживается только один новостной сайт - ИНОСМИ.РУ. Для него разработан специальный адаптер, умеющий выделять текст статьи на фоне остальной 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
Код написан в учебных целях. Это урок из курса по веб-разработке — Девман.