2010-06-09 51 views
1

我正在做一个夏季的研究项目,我必须使用从维基百科获取一些数据,存储它,然后对它做一些分析。我正在使用维基百科API来收集数据,并且我已经很好地了解了这一点。list = alllinks confusion

什么我的问题是关于API中的links-alllinks选项doc here 阅读说明书,都没有后,并在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 

这在本质上说:获取谷歌页面的最后一次修改,包括ID,时间戳,用户评论和每个修订的内容,并返回它在XML格式。 这个allinks(我认为)应该让我回到一个指向谷歌页面的wikipedia页面列表(在这种情况下,前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>部分,它只是随机gobbledy性国和进攻意见的负载。几乎没有我以为我会得到。我做了一些搜索,但似乎无法找到我的问题的直接答案。

  1. list=alllinks选项应该返回什么?
  2. 为什么我在那里得到这个废话?
+1

1)这听起来像你下载的是在那一刻正好破坏的页面。 2)我希望能够使用R对维基百科进行一些分析。您使用了哪种分析工具? – 2010-06-24 20:24:25

+0

我没有使用任何:P我自己把它写成我的研究实习的一部分。 似乎没有任何像样的Ruby代码用于抓取维基百科。 我现在正处于编写分析代码的阶段。 – 2010-06-25 07:26:15

+0

尝试http://rubygems.org/gems/mediawiki-gateway,如果不够体面,请告诉我为什么;) – jpatokal 2010-11-08 23:12:57

回答