使用Rails 3从Wikipedia中提取尽可能干净的数据

时间:2011-02-23 14:48:21

标签: ruby-on-rails-3 wikipedia

我正在开发一个Rails 3应用程序,我希望能够从维基百科中提取有关任何主题的数据(标题和简短文本)。

我需要让信息非常“干净”,换言之,不含HTML,维基标签和无关数据,如参考列表等。

是否可以只获得有关该主题的标题和一些文字?

我使用gem来获取数据,但它非常难看。

{{for|the television series|Solsidan (TV series)}} {{Infobox settlement |official_name = Solsidan |image_skyline = |image_caption = |pushpin_map = Sweden |pushpin_label_position = |coordinates_region = SE |subdivision_type = [[Country]] |subdivision_name = [[Sweden]] |subdivision_type3 = [[Municipalities of Sweden|Municipality]] |subdivision_name3 = [[Nacka Municipality]] |subdivision_type2 = [[Counties of Sweden|County]] |subdivision_name2 = [[Stockholm County]] |subdivision_type1 = [[Provinces of Sweden|Province]] |subdivision_name1 = [[Uppland]] |area_footnotes = {{cite web | title=Tätorternas landareal, folkmängd och invånare per km2 2000 och 2005 | publisher=[[Statistics Sweden]] | url=http://www.scb.se/statistik/MI/MI0810/2005A01B/T%c3%a4torternami0810tab1.xls | format=xls | language=Swedish | accessdate=2009-05-08}} |area_total_km2 = 0.23 |population_as_of = 2005-12-31 |population_footnotes = |population_total = 209 |population_density_km2 = 895 |timezone = [[Central European Time|CET]] |utc_offset = +1 |timezone_DST = [[Central European Summer Time|CEST]] |utc_offset_DST = +2 |coordinates_display = display=inline,title |latd=59 |latm=17 |lats= |latNS=N |longd=17 |longm=51 |longs= |longEW=E |website = }} '''Solsidan''' is a [[Urban areas in Sweden|locality]] situated in [[Nacka Municipality]], [[Stockholm County]], [[Sweden]] == References == {{Reflist}} {{Stockholm-geo-stub}} {{Localities in Nacka Municipality}} [[Category:Populated places in Stockholm County]] [[no:Solsidan]] [[sv:Solsidan, Nacka kommun]]

1 个答案:

答案 0 :(得分:3)

维基百科在Wikipedia:Database download处提供常规图像,既可以作为mediawiki使用的模式中的MySQL转储,也可以是XML交换格式。您可以将这些加载到您自己的服务器上(~6GiB下载,所有英文维基百科文章的当前文本未压缩约30 GB),以及您希望的查询/处理。内容尚未处理为HTML,因此您可以处理Wiki标记并发出您想要的任何内容。该页面有许多链接到处理这些转储的各种语言的库,但我没有看到Ruby,所以你可能不得不自己做。

还提供了各种子集。 abstract.xml包含标题和摘要,听起来像你想要的,只有3GB。

有关重用维基百科内容所涉及的许可要求的一些讨论,另请参阅Wikipedia:Mirrors_and_forks