1

私は夏に向けて研究プロジェクトを行っており、ウィキペディアからデータを取得して保存し、分析を行う必要があります。私はウィキペディア API を使用してデータを収集しています。

ここのAPIドキュメントlinks-alllinksのオプションに関する私の質問は何ですかそことAPI自体 の両方で説明を読んだ後(それはダウンしてビットであり、セクションに直接リンクすることはできません)、私はそれが想定されていることを理解していると思います戻る。しかし、クエリを実行すると、予期しない結果が返されました。

私が実行したクエリは次のとおりです。

http://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=google&rvprop=ids|timestamp|user|comment|content&rvlimit=1&list=alllinks&alunique&allimit=40&format=xml

つまり、Google ページの最後のリビジョンを取得し、各リビジョンの ID、タイムスタンプ、ユーザー、コメント、およびコンテンツを含めて、XML 形式で返します。alinks (私は思った) は、Google ページ (この場合、最初の 40 個の固有のもの) を指すウィキペディア ページのリストを返してくれるはずです。

宣誓に対するポリシーが何であるかはわかりませんが、これは私が正確に得た結果です:

<?xml version="1.0"?>
<api>
    <query><normalized>
        <n from="google" to="Google" />
        </normalized>
        <pages>
            <page pageid="1092923" ns="0" title="Google">
                <revisions>
                    <rev revid="366826294" parentid="366673948" user="Citation bot" timestamp="2010-06-08T17:18:31Z" comment="Citations: [161]Tweaked: url. [[User:Mono|Mono]]" xml:space="preserve">
                        <!-- The page content, I've replaced this cos its not of interest -->
                    </rev>
                </revisions>
            </page>
        </pages>
        <alllinks>
                <!-- offensive content removed -->
        </alllinks>
    </query>
    <query-continue>
        <revisions rvstartid="366673948" />
        <alllinks alfrom="!2009" />
    </query-continue>
</api>

その<alllinks>部分は、ランダムなグーブルグックと攻撃的なコメントの山です。私が得ると思っていたものはほとんどありません。かなりの検索を行いましたが、私の質問に対する直接的な答えが見つからないようです。

  1. オプションは何をlist=alllinks返す必要がありますか?
  2. なぜ私はそこにこのがらくたを入れているのですか?
4

1 に答える 1

2

リストは必要ありません。リストは、すべてのページを反復するものです。あなたの場合、単に「特定の名前空間を指すすべてのリンクを列挙する」だけです。

Google ページに関連付けられたプロパティが必要なので、alllinks の代わりに prop=links が必要です。

したがって、クエリは次のようになります。 http://en.wikipedia.org/w/api.php?action=query&prop=revisions|links&titles=google&rvprop=ids|timestamp|user|comment|content&rvlimit=1&format=xml

于 2010-07-26T10:43:24.883 に答える