Отправьте заголовок и ссылку по электронной почте из rss-ленты и отправьте их по электронной почте - PullRequest
0 голосов
/ 08 февраля 2011

Я делаю небольшой эксперимент на Python.Я делаю скрипт, который проверяет RSS-ленту для новых элементов, а затем отправляет заголовок и ссылку элементов по электронной почте.У меня есть сценарий для работы на определенном уровне: когда он запустится, он возьмет ссылку + заголовок самого нового элемента и отправит его по электронной почте, независимо от того, отправил ли он этот файл по электронной почте или нет.Мне нужно добавить две вещи: способ получить несколько элементов одновременно (и отправить их по электронной почте, один за другим) и способ проверить, отправлены ли они уже.Как бы я это сделал?Я использую feedparser, это то, что у меня так далеко:

d = feedparser.parse('http://feedparser.org/docs/examples/rss20.xml')
link = d.entries[0].link
title = d.entries[0].title

А затем пара строк, которые отправляют электронное письмо со ссылкой и заголовком.Я знаю, что мне нужно использовать Etag, но я не смог понять, как и как мне отправлять электронные письма 1 на 1?

Ответы [ 2 ]

0 голосов
/ 08 февраля 2011

для части синтаксического анализа канала, вы можете рассмотреть рекомендации, приведенные в этом вопросе относительно Как обнаружить измененные и новые элементы в RSS-канале? .По сути, вы можете хэшировать содержимое каждой записи и использовать его в качестве идентификатора.

Например, при первом запуске вашей программы он вычислит хеш каждой записи, сохранит этот хеш и отправит эти новыезаписи по почте.При следующем запуске он будет перефразировать содержимое каждой записи и сравнивать эти хеши с найденными ранее (для этого вы должны использовать какую-то базу данных или, по крайней мере, словарь / список в памяти при разработке с уже проанализированными и отправленными записями),Если ваша программа находит хэши, которые не были сгенерированы при предыдущих запусках, она соберет новое электронное письмо и отправит его с «новыми» записями.

Что касается вашей части сборки электронной почты, вопрос Отправка HTMLэлектронная почта на Python может помочь.Просто отправьте только текст и версию HTML.

0 голосов
/ 08 февраля 2011

Самый простой способ - см. Пример документации на python smtplib .(Я не буду повторять код здесь.) Это все, что вам нужно для обычной отправки электронной почты.

Для более качественного и более сложного содержимого электронной почты также обратите внимание на почтовый модуль Python , конечно.

...