问题标签 [wikipedia]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2173 浏览

sql - 在 MySQL 中导入非英语维基百科 XML 转储?

我正在寻找一个可以将 XML wikipedia DUMP 转换为 MySQL 兼容 SQL 的脚本。我为英文版找到了一个现成的 SQL 转储,但没有简单的方法可以导入其他语言。

谢谢,

皮耶罗

0 投票
3 回答
1135 浏览

php - 将选定的 Wikipedia 文章复制到自己的 wiki 中?

有没有办法将某些维基百科文章(大约 10,000 篇)批量复制到我自己的 mediawiki 网站?

编辑:如何在不覆盖类似名称的文章/页面的情况下执行此操作?我也不打算使用非法手段(爬虫等)

0 投票
4 回答
214 浏览

wikipedia - 实现历史功能 à la Wikipedia

我正在编写一个具有用于编辑文档的用户界面的 Web 应用程序。实现像维基百科这样可以查看文档编辑的历史功能的最佳方法是什么?

0 投票
9 回答
12072 浏览

php - 我如何只抓取维基百科文章的已解析信息框?

我仍然坚持尝试从维基百科解析文章的问题。实际上,我希望解析来自维基百科的文章的信息框部分,即我的应用程序引用了国家,并且在每个国家页面上,我希望能够显示该国家相应维基百科文章中的信息框。我在这里使用 php - 如果有人有任何代码片段或关于我应该在这里做什么的建议,我将不胜感激。

再次感谢。


编辑

好吧,我有一个带有国家名称的数据库表。我有一个脚本,它包含一个国家并显示其详细信息。我想获取信息框 - 带有所有国家/地区详细信息图像等的蓝色框,因为它来自维基百科并将其显示在我的页面上。我想知道一个非常简单的方法来做到这一点 - 或者有一个脚本,只是将信息框的信息下载到本地远程系统,我以后可以自己访问。我的意思是我对这里的想法持开放态度 - 除了我想要的最终结果是在我的页面上看到信息框 - 当然在底部有一些维基百科内容链接:)


编辑

我想我在http://infochimps.org上找到了我想要的东西——他们有大量的数据集,我认为是 YAML 语言。我可以直接使用这些信息,但我需要一种方法来不时地从维基百科不断更新这些信息,尽管我相信信息框很少改变,尤其是在国家/地区,除非某个国家决定更改其首都左右。

0 投票
2 回答
506 浏览

php - 我如何处理我刚刚从 dbpedia 下载的这个 csv 数据集?

我刚刚从 dbpedia 下载了维基百科信息框的 csv。但是我不知道如何使用它:-SI 想将所有这些数据导入数据库,但不太确定如何从这里获取。我从http://wiki.dbpedia.org/Downloads32#infoboxes下载了它

我在 PHP 工作


仅作记录 - 这个 csv 文件大约为 1.8 GB。我实际上正在经历所有这些麻烦,只是为了从维基百科的一组精选文章中获取一组精选的信息框。我会手动完成,除非我需要包含国家和城市的超过 10 000 个条目的信息框。我只是在寻找一种简单的方法来做到这一点,坦率地说,我一直在使用我所有的选择:(

0 投票
4 回答
687 浏览

php - 维基百科整合问题 - 最终需要解决这个问题 101

对不起,伙计们,我一直在模拟询问如何将维基百科数据集成到我的应用程序中,坦率地说,我认为我没有取得任何成功,因为我一直在尝试所有的想法并且有点放弃当我读到死胡同或障碍时。我将尝试解释我到底想在这里做什么。

我有一个简单的位置目录,如城市和国家。我的应用程序是一个简单的基于 php 的基于 ajax 的应用程序,具有搜索和浏览功能。人们注册并将自己与一个城市相关联,当用户浏览城市时 - 他/她可以看到该城市的人和公司,即我们系统中的任何人。

该部分很容易自行设置并且工作正常。问题是我的搜索结果将采用以下格式,即有人搜索让我们说北京。它将在三个选项卡式界面框中返回:

  1. 第一个选项卡会有一个包含北京城市信息的信息框
  2. 第二个将是一个国家选项卡,其中包含来自中国的国家信息的信息框
  3. 第三个选项卡将列出所有在北京的联系人。

前两个标签的内容应该来自维基百科。现在我完全不知道什么是完成这项工作的最佳方法,而且一旦决定了一种方法——我该如何去做并让它变得相当强大的。

到目前为止,我能够消化的一些好的和坏的想法是:

  1. 直接向维基百科运行 curl 请求,并在每次搜索时解析返回的数据。在这种情况下,无需维护 wikipedia 上的数据的本地副本。另一个问题是它完全依赖于来自远程第三位置的数据,我怀疑每次向维基百科发出请求以检索基本信息是否可行。再加上考虑到维基百科上的数据需要在每个请求时进行解析 - 这将克服繁重的服务器负载......或者我在这里推测。

  2. 下载维基百科转储并查询。好吧,我已经下载了整个数据库,但是从 xml 转储中导入所有表需要很长时间。另外考虑一下我只想提取国家和城市列表及其信息框的事实 - 转储中的很多信息对我来说毫无用处。

  3. 制作我自己的本地表并创建一个 cron [我将在此处解释为什么 cron 工作] 脚本,它会以某种方式解析维基百科上的所有国家和城市页面,并将它们转换为我可以在我的表中使用的格式。但老实说,我不需要信息框中的所有信息,因为事实上我什至可以按原样获得信息框的基本标记——这对我来说已经足够了。像:

国家名称 | 信息框原始文本

如果需要,我可以亲自提取坐标和其他细节等内容。

我什至尝试从 infochiumps 和 dbpedia 下载第三方数据集,但 infochimps 的数据集不完整,并且不包含我想要显示的所有信息 - 加上 dbpedia,我完全不知道如何处理我下载的信息框的 csv 文件恐怕它也可能不完整。

但这只是这里问题的一部分。我想要一种显示维基百科信息的方法 - 我会让所有指向维基百科的链接以及来自维基百科的好信息在周围正确显示但问题是我需要一种方法来定期更新我拥有的信息来自维基百科,所以至少我没有完全过时的数据。就像说一个可以检查的系统,如果我们有一个新的国家或新的位置,它可以解析信息并以某种方式检索它。我在这里依靠维基百科中的国家和城市类别,但坦率地说,所有这些想法都写在纸上,部分编码并且非常混乱。

我正在用 PHP 和 MySQL 编程,我的截止日期很快就要到了——鉴于上述情况和要求,遵循和实施的最佳和最实用的方法是什么。我对想法完全持开放态度——如果有人做过类似的事情,我会举个实际例子——我很想听听:D

0 投票
1 回答
1672 浏览

php - Mediawiki:无效的编辑令牌

我使用带有 HTTP POST 的 API 在 Mediawiki (1.14) 中创建一个 wiki 页面:

  1. 我需要一个编辑令牌
  2. 它有效,我得到了一个新的令牌(例如:d96d72fae5e6c43b0b9f63d82ace366)
  3. 我发送 HTTP POST 以使用我的新令牌创建新站点(类似于“d96d72fae5e6c43b0b9f63d82ace366+\”
  4. 我收到一条错误消息“无效令牌”

我不明白为什么会收到此消息,因为我在 POST 请求中发送了一个新创建的令牌。

任何的想法?

0 投票
5 回答
6613 浏览

php - 如何从信息框中获取指向维基百科图像的链接?

我正在解析维基百科信息框,我注意到一些信息框有图像字段 - 这些字段包含隐藏在维基百科某处的图像文件的名称。但是,它们只包含文件的名称,而不是实际的链接。

我检查了真实实时信息框中的图像链接,这些链接似乎不是来自一个来源,但来源各不相同。考虑到我只有来自信息框条目的图像名称,我如何超链接到维基百科上的图像。

0 投票
6 回答
5578 浏览

sql - 将文章直接插入 MediaWiki 数据库

我需要一种将新文章直接插入到我的 MediaWiki 数据库而不损坏 wiki 安装的方法。

我猜如果我知道 MediaWiki 在创建新文章时插入哪些表/属性,那么我可以自己填写它们。

有没有人知道更好的方法或有任何建议?

0 投票
1 回答
781 浏览

api - 使用 xslt、xpath:document() 和 mediawiki 进行递归转换

我想使用Wikipedia API来查找法语页面,包括英文版中缺少的“SQLTemplate:Infobox Scientifique”。所以,我的想法是用 xproc 处理以下文档:

http://fr.wikipedia.org/w/api.php?action=query&format=xml&list=embeddedin&eititle=Template:Infobox%20Scientifique&eilimit=400

和以下 xslt 样式表:

XSLT 提取包含模板的所有文章,对于每篇文章,我想调用 Wikipedia 以获取 wiki 之间的链接。这里的模板englishTitle调用 xpath 函数document()

但它总是说,count(ll)=1虽然有很多节点。(例如http://fr.wikipedia.org/w/api.php?action=query&format=xml&prop=langlinks&lllimit=500&titles=Carl_Sagan )。

我不能处理document()函数返回的节点吗?