Парсинг новостной ленты «Яндекс Дзен. Новости»
45
Требуется реализовать алгоритм, который осуществляет извлечение информации из веб-ресурса "Яндекс Дзен. Новости", используя для этого язык программирования Python 3.12 в сочетании с фреймворками Requests 2.31.0 и Beautiful Soup 4.12.3.
Входные данные включают информацию о регионе, представленную в виде названия города на кириллице, а также список идентификаторов новостных статей, уже опубликованных в чате с пользователем. Необходимо выполнить проверку, чтобы идентификатор полученной статьи не находился в списке уже отправленных статей. В случае, если не обнаружено новых новостей, а получены только те, которые ранее уже были опубликованы, алгоритм не должен возвращать никаких данных.
Учитывая, что URL-адрес веб-ресурса "Яндекс Дзен" принимает значение региона на латинском языке (например, "Москва" преобразуется в "Moscow"), необходимо заранее адаптировать входные данные в соответствии с этим требованием.
Для каждой полученной новости должен быть создан словарь, включающий следующие параметры: "title" (заголовок статьи), "description" (описание статьи), "date" (время публикации), "attachments" (в случае наличия нескольких вложений, они представляются в виде списка), "link" (ссылка на ресурс) и "id" (идентификатор новостной статьи, который будет записан в базу данных для проверки, не была ли данная новость уже получена пользователем за сегодняшний день). Поиск новостей ограничивается текущим днем.
Входные данные включают информацию о регионе, представленную в виде названия города на кириллице, а также список идентификаторов новостных статей, уже опубликованных в чате с пользователем. Необходимо выполнить проверку, чтобы идентификатор полученной статьи не находился в списке уже отправленных статей. В случае, если не обнаружено новых новостей, а получены только те, которые ранее уже были опубликованы, алгоритм не должен возвращать никаких данных.
Учитывая, что URL-адрес веб-ресурса "Яндекс Дзен" принимает значение региона на латинском языке (например, "Москва" преобразуется в "Moscow"), необходимо заранее адаптировать входные данные в соответствии с этим требованием.
Для каждой полученной новости должен быть создан словарь, включающий следующие параметры: "title" (заголовок статьи), "description" (описание статьи), "date" (время публикации), "attachments" (в случае наличия нескольких вложений, они представляются в виде списка), "link" (ссылка на ресурс) и "id" (идентификатор новостной статьи, который будет записан в базу данных для проверки, не была ли данная новость уже получена пользователем за сегодняшний день). Поиск новостей ограничивается текущим днем.