2017-08-09 9 views
0

私の(すでに)作業コードをpython2.7からpython3.5に更新したところ、次の問題が突然現れます。FeedparserがATOMフィードの最初のエントリを返す

多くのエントリ(正しい構文)で指定されたATOMフィードを解析することにより、feedparser 5.2.1。 は、フィードの最初のエントリともちろん、フィードの「メタ」データのみを返します。

マイ(未修飾の)コード:

feed_data = feedparser.parse("www.myfeed.com/myfeeds.atom") 
for entry in feed_data.entries: 
    print(entry) 

出力

{'uid':'99999','author':'XY', ...more content of the first entry...} 
{} 

次の(第2)のエントリは...空であり、他のエントリも...記載されていませんfeed_data.entriesの長さは(78である必要があります)です。

UPDATE

(今日)1つの新しいエントリがエントリーリストの先頭に追加されたので、私は、出力として3つの項目を取得するので、私はそれが特定して、「エンコーディング」の問題であると思います現在のフィードの3番目のエントリ。

問題を解決する方法はありますか?

+0

あなたの原子供給に何か間違っていると推測します。そのコードは、次のようなdiffフィードでうまくいく:https://www.theregister.co.uk/data_centre/networks/headlines.atom – Chris

+0

これは、Python 2.7(とおそらく古いバージョンのvon feedparser)で正確に動作する。同じ(作業中の)原子フィードですが、python 3.5ではそれは失敗します。 – zypro

+0

プルしようとしている正確なフィードを引き出すことができなければ、トラブルシューティングするのは難しいかもしれません。 – Chris

答えて

0

大丈夫、

Python3.5はまだサポートされていません。しかし、このpythonバージョンのサポートは、githubプロジェクトの開発ブランチ(see here)で準備されています。

これはフィードパーザのこの開発版で動作しますので、私はこれを試してみて、この "機能"の公式リリースまで待つ(何も問題なく1年かかる)かもしれません。

関連する問題