27

我正在为我的大学项目下载完整的维基百科文本。我是否必须编写自己的蜘蛛才能下载此内容,或者是否有在线的维基百科公共数据集?

只是给你一些我的项目的概述,我想找出我感兴趣的几篇文章中有趣的词。但是为了找到这些有趣的词,我打算应用 tf/idf 来计算每个词的词频并挑选那些频率高的。但是要计算 tf,我需要知道整个维基百科的总出现次数。

如何才能做到这一点?

4

7 回答 7

28

来自维基百科: http ://en.wikipedia.org/wiki/Wikipedia_database

维基百科向感兴趣的用户提供所有可用内容的免费副本。这些数据库可用于镜像、个人使用、非正式备份、离线使用或数据库查询(例如用于 Wikipedia:Maintenance)。所有文本内容均根据知识共享署名-相同方式共享 3.0 许可 (CC-BY-SA) 和 GNU 自由文档许可 (GFDL) 获得多重许可。图像和其他文件以不同的条款提供,详见其描述页面。有关遵守这些许可的建议,请参阅 Wikipedia:Copyrights。

看来你也很走运。从转储部分:

截至 2010 年 3 月 12 日,英语维基百科的最新完整转储可在http://download.wikimedia.org/enwiki/20100130/找到。 这是已创建的英语维基百科的第一个完整转储自 2008 年以来。请注意,最近的转储(例如 20100312 转储)不完整。

所以数据只有 9 天 :)

于 2010-04-21T13:58:14.250 回答
11

如果您需要纯文本版本,而不是 Mediawiki XML,那么您可以在这里下载:http: //kopiwiki.dsd.sztaki.hu/

于 2012-07-09T10:55:18.050 回答
4

考虑到转储的大小,使用英语中的词频可能会更好,或者使用MediaWiki API随机轮询页面(或咨询次数最多的页面)。有一些框架可以基于此 API(Ruby、C# 等)构建机器人,可以帮助您。

于 2010-04-22T15:19:58.357 回答
1

http://en.wikipedia.org/wiki/Wikipedia_database#Latest_complete_dump_of_english_wikipedia

于 2010-04-21T13:57:27.400 回答
1

http://en.wikipedia.org/wiki/Wikipedia_database

于 2010-04-21T13:59:03.590 回答
0

所有最新的维基百科数据集都可以从以下位置下载:维基媒体 只需确保单击最新的可用日期

于 2018-08-22T05:15:45.440 回答
0

使用这个脚本

#https://en.wikipedia.org/w/api.php?action=query&prop=extracts&pageids=18630637&inprop=url&format=json
import sys, requests
for i in range(int(sys.argv[1]),int(sys.argv[2])):
  print("[wikipedia] getting source - id "+str(i))
  Text=requests.get("https://en.wikipedia.org/w/api.php?action=query&prop=extracts&pageids="+str(i)+"&inprop=url&format=json").text
  print("[wikipedia] putting into file - id "+str(i))
  with open("wikipedia/"+str(i)+"--id.json","w+") as File:
    File.writelines(Text)
  print("[wikipedia] archived - id "+str(i))

1 到 1062 位于https://costlyyawningassembly.mkcodes.repl.co/

于 2021-07-08T12:57:14.467 回答