6

私はPythonのfeedparserライブラリを使用して、地元の新聞からニュースを取得しています(私の意図は、このコーパスに対して自然言語処理を行うことです)。RSSフィードから過去の多くのエントリを取得できるようにしたいと考えています。

RSSの技術的な問題についてはあまり詳しくありませんが、これは可能であると思います(たとえば、GoogleリーダーとFeedlyは、スクロールバーを動かすと「オンデマンド」でこれを実行できることがわかります)。

私が次のことをするとき:

import feedparser

url = 'http://feeds.folha.uol.com.br/folha/emcimadahora/rss091.xml'
feed = feedparser.parse(url)
for post in feed.entries:
   title = post.title

エントリは12個程度しかありません。私は何百ものことを考えていました。可能であれば、先月のすべてのエントリかもしれません。これをfeedparserでのみ行うことは可能ですか?

RSSフィードからニュース項目へのリンクのみを取得し、BeautifulSoupでページ全体を解析して必要なテキストを取得するつもりです。別の解決策は、ページ内のすべてのローカルリンクをたどって多くのニュース項目を取得するクローラーですが、今のところそれは避けたいと思います。

-

登場した解決策の1つは、GoogleリーダーのRSSキャッシュを使用することです。

http://www.google.com/reader/atom/feed/http://feeds.folha.uol.com.br/folha/emcimadahora/rss091.xml?n=1000

ただし、これにアクセスするには、Googleリーダーにログインする必要があります。誰かが私がPythonからそれを行う方法を知っていますか?(私は本当にウェブについて何も知りません、私は通常数値計算をいじるだけです)。

4

2 に答える 2

10

フィードに含まれているのは、12個程度のエントリだけです。履歴データが必要な場合は、そのデータのフィード/データベースを見つける必要があります。

Web上でオープンデータを見つけるためのリソースについては、このReadWriteWebの記事を確認してください。

タイトルが示すように、Feedparserはこれとは何の関係もないことに注意してください。Feedparserは、指定されたものを解析します。あなたがそれを見つけてそれに渡さない限り、それは歴史的なデータを見つけることができません。単なるパーサーです。それが物事をクリアすることを願っています!:)

于 2009-11-04T20:02:51.713 に答える
3

Bartek の回答を拡張するには: 既に見たフィードのすべてのエントリの保存を開始し、フィードのコンテンツの独自の履歴アーカイブを構築することもできます。これにより、コーパスとしての使用を開始する能力が遅れます (1 か月分のエントリのコレクションを構築するために 1 か月間これを行う必要があるため) が、データについて他の誰かに依存することはありません。 .

私は間違っているかもしれませんが、Google リーダーが過去にさかのぼることができるのは間違いありません。各フィードの過去のエントリがどこかに保存されています。

于 2009-11-04T20:13:56.057 に答える