何分もの間隔でPythonスクリプトを実行したい。スクリプトは、rssフィードから最新の記事を取得することから始まります(フィードパーサーを使用)。私が望むのは、最新の記事が最後に実行されたときと同じで、スクリプトが終了するときです。これをどのように達成するのですか?RSSフィードが変更されていない場合は何もしない
答えて
あなたはPythonの質問にfeedparserに言及しているのでyesの場合、これを実行する最も簡単な方法は、サーバーが、以来、唯一の要求の更新のための仕事の大半を行う作る場合には、私はあなたがfeedparser.org
を意味すると仮定します最後に行った変更:ETag and Last-Modified headers for RSS feeds
一時ファイルに状態を保存することができます。例えば。テンポラリファイルがない場合は、テンポラリファイルにタイトルを書き込み、次回にファイルから読み込み、読み込んだタイトルと新しいタイトルを比較します。
記事が編集され、異なる内容が含まれている場合には、 'updated'日付も保存することをお勧めします。 –
うん、これはそれを行う方法です。それを構造体に書き出すだけです。 JSONまたはPickleを使用して、より簡単に読み込めるデータ構造として書き出すことを検討することができます。 – chmullig
さまざまなアプローチがあります。最も簡単なのはおそらく、あなたのプログラムが扱うフィードごとに取得した最新の記事の一意のキーまたはハッシュを保持することです。これは、記事タイトル&の日付、または記事全体の内容のmd5sumの組合せであってもよい。
このデータをスクリプトのXML状態ファイルに書き込むか、cpickleのようなものを使用してデータを保存します。次に、プログラムが実行されるたびに、最新のフィード記事のみを取得します(前回の記事ハッシュと最後の記事ハッシュをそれぞれチェックします)。
もちろん、スクリプトが終了する前に最新の記事フィードハッシュを更新することを忘れないでください。
スクリプトで複数のフィードを処理する場合は、フィードごとにこれらの「最新の記事ハッシュ」アイテムの1つを保存する必要があります。
- 1. rssフィード、自動更新されない
- 2. コールコンバーターターゲットプロパティ値が変更されていない場合でも
- 3. PostgreSQL upsert:フィールドが変更されない場合は何も行いません
- 4. 場所要素がスタックオーバーフロージョブから解析されないRSSフィード
- 5. 関数の場合 - 何もしない場合は何もしない
- 6. RSSリーダーがフィードを返さない
- 7. ファイルが変更されていない場合は、もう一度ダウンロードしないでください。
- 8. Java:セマンティクスが変更されていない場合、vs rollbackと何も関係ない?
- 9. RSSフィードない自動更新
- 10. Reduxディープコピーアレイが変更されない場合でも
- 11. セクションがチェックされていない場合、NSISは何もしません。
- 12. RssフィードがChromeで動作しない
- 13. updated_atタイムスタンプ何も変更されていない場合でも保存時に更新できますか?
- 14. 変数が何もない場合のテストは何ですか?
- 15. RSSフィードが正しく表示されない(テキストのみ)
- 16. 値が変更されていない場合のCHANGE_TRACKING_IS_COLUMN_IN_MASK
- 17. jEditable:データが変更されていない場合
- 18. 値が変更されていない場合、angularJS $ dirty
- 19. RSSフィードのエスケープされていないhtmlにアクセスできない
- 20. else文がスキップされて何もしない場合にネストされます
- 21. 変更された場合PHPがクラスを更新しない
- 22. MySQL - Selectステートメントが何も返さない場合の戻り値の変更
- 23. jQuery:$( '#id')が何も一致しない場合に返されるものは?
- 24. チェックボックスがチェックされている場合はラベルの色を変更し、チェックボックスがチェックされていない場合は赤色に変更します。
- 25. 値が変更されない場合のbackbone.jsの変更
- 26. ウェブページ内のコンテンツのナレーション、現在のタスク(何も話していない)が完了していない場合、タブを押しても何も話さない
- 27. 値が変更されていない場合でも、Hazelcastはリスナーの更新イベントを発生させます。
- 28. RSSフィードに画像が表示されない
- 29. rssフィードで画像が見つからない場合の代替画像
- 30. AvalonEditが表示されない場合更新しない
これは良いアイデアのようですね、ありがとう。私は実際にそれを使用するために動作することはできませんドキュメントのベースでは、例を提供することができますか? – HankSmackHood
上記リンクの例は、どのように使用されるべきかを指定します。初めて呼び出すと、urlだけを解析メソッドに渡します。データが返された後、そのRSSフィードのetagと変更されたデータを覚えたり保存したりします。その後のRSSフィードの取得では、解析メソッド呼び出しの一部としてetagと変更されたデータを渡します。 –
+1から最終変更 - 移動する必要のないビットは移動しないでください。 – bgporter