Я немного экспериментирую на Python. Я создаю скрипт, который проверяет rss-канал для новых элементов, а затем отправляет заголовок и ссылку на элементы по электронной почте. У меня есть сценарий для работы на определенном уровне: когда он запустится, он получит ссылку + заголовок новейшего элемента и отправит его по электронной почте, независимо от того, будет ли он отправлен по электронной почте этот файл уже или нет. Мне нужно добавить 2 вещи: способ сразу получить несколько элементов (и отправить их по электронной почте один за другим), а также проверить, были ли они отправлены. Как мне это сделать? Я использую feedparser, это то, что у меня до сих пор:Заголовок электронной почты и ссылка из rss-feed и отправьте их по электронной почте
d = feedparser.parse('http://feedparser.org/docs/examples/rss20.xml')
link = d.entries[0].link
title = d.entries[0].title
, а затем пару линий, которые посылают по электронной почте с «ссылка» и «название» в там. Я знаю, что мне нужно будет использовать Etag, но не смогли бы разобраться, как и как отправить электронные письма 1 на 1?
Разве это не ETag, по сути, сам хэш? Так что, если я сохраню это, у меня будет такой же результат, как и хэширование любой другой вещи? И отправка электронной почты не проблема, у меня это отсортировано. Единственное, что я не знаю, как это сделать, - отправить электронные письма 1 на 1. Сейчас я могу получить его только для отправки по электронной почте 1 раз, используя новейший элемент в rss-фиде. – HankSmackHood
Вы сказали, что вы можете отправлять только одно электронное письмо за один раз, с помощью нового элемента, и тахат, который вы хотите отправлять по почте один за другим. Вы имеете в виду, что если есть еще один новый предмет, вы не можете знать, кто он? –
Если я ошибаюсь, этаг представляет весь канал, то есть, сравнивая два этика, вы можете знать, что фид изменился, но вы не знаете, какие каналы являются новыми. Вы можете использовать etags, чтобы узнать, изменился ли канал, и как только вы узнаете, что он есть, вы проверяете записи фида для новых (используя технику хеширования по содержимому каждой записи). И для каждой новой записи для отправки вашей почты. –