Продолжаем блог по проекту пока не найду работу

Следующий шаг - код. Задача звучала довольно просто: найти новую новость и записать её в базу данных. На практике всё оказалось чуть сложнее. Большинство новостных сайтов предоставляют XML-ленты (RSS или Atom), и поначалу я планировал брать данные именно оттуда. Но у каждого источника своя структура, а писать отдельный парсер под каждый канал — удовольствие для соло-разработчика сомнительное и крайне долгое. Решил поискать альтернативу и нашёл несколько любопытных инструментов.

Первым делом в руки попал feedparser. Его главное преимущество - нормализация: независимо от формата фида (RSS 1.0, RSS 2.0, Atom и т.д.), он умеет извлекать заголовок, краткое описание и ссылку на статью. Большой минус - полный текст новости он не отдаёт. Но как инструмент для быстрого сбора ссылок он отлично себя показал, поэтому я сразу набросал функцию для выгрузки последних новостей.

Дальше продолжил поиски и наткнулся на библиотеку trafilatura. Она берёт ссылку, заходит на страницу и вытаскивает оттуда чистый, «голый» текст, автоматически игнорируя рекламу, навигацию и прочий мусор. Именно то, что нужно для дальнейшей работы ИИ. Написал вторую функцию — получатель текста по ссылке из прошлой выгрузки. Осталось объединить их в одну связку: feedparser собирает ссылки, trafilatura скачивает полные статьи, и всё это аккуратно записывается в базу.

P.S. проект все равно буду писать даже если найду работу) P.P.S.Если у вас есть какие то советы к примеру моему проекту или как улучшить резюме то пишите, всегда рад выслушать и улучшить себя и свои навыки P.P.P.S. читайте мои прошлые посты по этому проекту)

Продолжаем блог по проекту пока не найду работу | Сетка — социальная сеть от hh.ru Продолжаем блог по проекту пока не найду работу | Сетка — социальная сеть от hh.ru Продолжаем блог по проекту пока не найду работу | Сетка — социальная сеть от hh.ru Продолжаем блог по проекту пока не найду работу | Сетка — социальная сеть от hh.ru