Python: загрузить/разобрать *исключительно* тег pubdate записи rss

как загрузить только определенный атрибут метаданных rss? Я использую универсальную библиотеку feedparser.

feedparser.parse(linkstr).entries[0].published

У меня есть эта строка, которая возвращает что-то вроде этого, если напечатано: «Сб, 02 декабря 2017 07:00:34 Z»

Мой вопрос в том, загружает ли строка всю ленту, а затем публикует только публикацию первой записи? Или он скачивает только публикацию?

Если первое, как я могу загрузить только определенный атрибут? Это для бота, который выполняет проверку каждые пять минут, поэтому загрузка всей ленты каждые пять минут будет просто невыполнимой и ужасно неэффективной.


person xland44    schedule 02.12.2017    source источник


Ответы (1)


Почему вы не используете заголовки e-tag/last-modified?

https://pythonhosted.org/feedparser/http-etag.html

person Georgios Moralis    schedule 02.12.2017
comment
Спасибо, но еще раз - есть ли реальная разница между: feedparser.parse(linkstr).entries[0].published_parsed или feedparser.parse(linkstr).modified_parsed? второй пример - это то, что дано в ссылке, которую вы предоставили - person xland44; 02.12.2017
comment
При использовании заголовков e-tag и/или last-modified клиент проверяет наличие изменений по сравнению с предыдущими кешированными запросами, поэтому он не будет снова загружать RSS-канал, если в этих заголовках нет изменений. Как говорится в документации, вам лучше включить заголовки как last-modified, так и e-tag, поскольку это зависит от сервера, который из них поддерживается. В вашем примере вы фактически загружаете RSS-канал и проверяете записи, в то время как вы можете избежать загрузки канала с помощью метода заголовка e-tag/last-modified. - person Georgios Moralis; 02.12.2017