如何使用维基百科的API获取维基百科内容?

bbn*_*bnn 46 wikipedia-api

我想得到一篇维基百科文章的第一段.

这样做的API查询是什么?

Gab*_*abe 48

请参阅MediaWiki文档中的此部分

这些是关键参数.

prop=revisions&rvprop=content&rvsection=0
Run Code Online (Sandbox Code Playgroud)

rvsection = 0指定仅返回引导部分.

看这个例子.

http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&rvsection=0&titles=pizza

要获取HTML,您可以使用类似的使用action = parse http://en.wikipedia.org/w/api.php?action=parse§ion=0&prop=text&page=pizza

请注意,您必须删除任何模板或信息框.

  • 我想得到一个干净的文本,我应该自己编写解析器吗?或者有一些API查询这样做?谢谢 (2认同)

Ant*_*nyS 30

请参阅是否有一个干净的维基百科API仅用于检索内容摘要?其他提议的解决方案.这是我建议的一个:

实际上有一个非常好的道具称为提取物,可以用于专门为此目的设计的查询.提取允许您获取文章摘录(截断的文章文本).有一个名为exintro的参数可用于检索第0部分中的文本(没有其他资源,如图像或信息框).您还可以检索更精细的提取,例如通过一定数量的字符(exchars)或一定数量的句子(exsentences)

这是一个示例查询 http://en.wikipedia.org/w/api.php?action=query&prop=extracts&format=json&exintro=&titles=Stack%20OverflowAPI沙箱 http://en.wikipedia.org/wiki/特殊:ApiSandbox #action = query&prop = extract&format = json&exintro =&titles = Stack%20Overflow以使用此查询进行更多实验.

请注意,如果您想要第一段专门的,您仍然需要获得第一个标签.但是,在此API调用中,没有像图像要解析的其他资源.如果您对此介绍摘要感到满意,可以通过运行像删除html标记的php的strip_tag这样的函数来检索文本.


gug*_*gol 20

我是这样做的:

https://en.wikipedia.org/w/api.php?action=opensearch&search=bee&limit=1&format=json

你得到的响应是一个包含数据的数组,易于解析:

[
  "bee",
  [
    "Bee"
  ],
  [
    "Bees are flying insects closely related to wasps and ants, known for their role in pollination and, in the case of the best-known bee species, the European honey bee, for producing honey and beeswax."
  ],
  [
    "https://en.wikipedia.org/wiki/Bee"
  ]
]
Run Code Online (Sandbox Code Playgroud)

要获得第一段limit=1就是你需要的.

  • 奇怪的是这个方法现在不管用了。它没有给我任何描述 (5认同)
  • 同样在这里,这个方法没有返回任何描述,有什么原因吗? (2认同)

Dam*_*ica 7

获取文章的第一段:

https://en.wikipedia.org/w/api.php?action=query&titles=Belgrade&prop=extracts&format=json&exintro=1

我已经根据自己的需要创建了简短的Wikipedia API 文档。有关于如何获取文章、图像和类似内容的工作示例。


Psy*_*aut 5

如果您需要对大量文章执行此操作,那么不要直接查询网站,而是考虑下载维基百科数据库转储,然后通过JWPL等 API 访问它。