0

私はPythonで少し実験をしています。RSSフィードで新しいアイテムをチェックし、アイテムのタイトルとリンクをメールで送信するスクリプトを作成しています。スクリプトを特定のレベルで機能させることができます。スクリプトを実行すると、ファイルが既に電子メールで送信されているかどうかに関係なく、最新のアイテムのリンクとタイトルが取得されて電子メールで送信されます。一度に複数のアイテムを取得する(そしてそれらを1つずつメールで送信する)方法と、それらがすでに送信されているかどうかを確認する方法の2つを追加する必要があります。どうすればいいですか?私はfeedparserを使用しています、これは私がこれまでに持っているものです:

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

そして、そこに「リンク」と「タイトル」を含む電子メールを送信する数行。Etagを使用する必要があることはわかっていますが、どのように、そしてどのように1つずつメールを送信するのかを理解できていません。

4

2 に答える 2

0

最も簡単な方法については、pythonsmtplibドキュメントの例を参照してください。(ここではコードを繰り返しません。)基本的な電子メール送信に必要なのはこれだけです。

より良い/より複雑な電子メールコンテンツについては、もちろん、 Pythonの電子メールモジュールも調べてください。

于 2011-02-08T15:31:26.203 に答える
0

フィードの解析部分については、RSSフィード内の変更されたアイテムと新しいアイテムを検出する方法に関するこの質問のアドバイスに従うことを検討できますか?。基本的に、各エントリの内容をハッシュして、それをIDとして使用できます。

たとえば、プログラムの最初の実行時に、各エントリのハッシュを計算し、そのハッシュを保存して、これらの新しいエントリをメールで送信します。次回の実行時に、各エントリのコンテンツを再ハッシュし、それらのハッシュを以前に見つかったものと比較します(これには、何らかのデータベースを使用するか、少なくとも、エントリを解析して送信した状態で開発する場合は、メモリ上の辞書/リストを使用する必要があります) 。プログラムが以前の実行で生成されなかったハッシュを見つけた場合、プログラムは新しい電子メールをアセンブルし、「新しい」エントリとともに送信します。

メールの組み立て部分については、PythonでHTMLメールを送信するという質問が役立つ場合があります。必ずテキストのみとHTMLバージョンを送信してください。

于 2011-02-08T15:43:07.080 に答える