1

RSS の演習として、このグループの Unix に関する議論のほとんどすべてを検索できるようにしたいと考えています。

comp.unix.shell

私は十分な Python を知っており、基本的な RSS を理解していますが、行き詰まっています ... 特定の日付の間のすべてのメッセージ、または少なくとも最近 N 番目と M 番目の間のすべてのメッセージを取得するにはどうすればよいですか?

高レベルの説明、疑似コードは大歓迎です。

ありがとうございました!

編集:

100 件以上のメッセージをさかのぼりたいのですが、次の URL を使用するなど、一度に 10 件のメッセージを解析するようなグラブは行わないでください。

http://groups.google.com/group/comp.unix.shell/topics?hl=ja&start=2000&sa=N

もっと良い方法があるはずです。

4

4 に答える 4

4

Googleグループをクロールすると、Googleの利用規約、具体的には次のフレーズに違反します。

ロボット、スパイダー、サイト検索/取得アプリケーション、またはその他のデバイスを使用して、サービスの一部を取得またはインデックスに登録したり、不正な目的でユーザーに関する情報を収集したりします

そんなに公然とやっていると発表してもよろしいですか?そして、あなたはあなたの結果の結果を知らないのですか?

于 2010-02-13T18:40:41.450 に答える
3

?num=50最近の N については、フィード URL にパラメーターまたは何かを渡すことができるようです

たとえば、comp.unix.shell グループからの 50 件の新しいメッセージ

http://groups.google.com/group/comp.unix.shell/feed/atom_v1_0_msgs.xml?num=50

次に、 Universal Feed Parserのようなフィードパーサー プログラムを選択します。

feedparserには.update_parsedオプションがあり、それを使用して特定の日付範囲内のメッセージを確認できます

>>> e.updated_parsed              # parses all date formats
(2005, 11, 9, 11, 56, 34, 2, 313, 0)
于 2010-02-06T03:36:53.140 に答える
1

yahoos YQL について考えたことはありますか? それほど悪くはなく、多くの API にアクセスできます。http://developer.yahoo.com/yql/

グループがサポートされているかどうかはわかりませんが、RSS フィードにアクセスできます。役立つかもしれません。

于 2010-02-14T03:09:36.860 に答える
1

Randalが述べたように、これは Google の ToS に違反しています。urllib を使用してページを開き、BeautifulSoup を使用してすべてのスレッド トピック (さらに深くクロールする場合はリンク) を取得します。次に、結果の次のページへのリンクをプログラムで見つけてから、別の urllib を作成してページ 2 に移動し、プロセスを繰り返します。

この時点で、生データがすべて揃っているはずです。あとは、データを操作して検索機能を実装するだけです。

于 2010-02-14T08:03:37.577 に答える