如何从wikipedia api中获取行和列的表格数据?

当我试图以json的形式获取表格数据时,我可以在以下查询的json输出中找到可区分的子代。

https:/en.wikipedia.orgwapi.php?action=parse&page=List_of_football_clubs_in_India&prop=wikitext&section=3&format=json。

我想得到这个表格的行和列(文本):-。

https:/en.wikipedia.orgwikiList_of_football_clubs_in_India#Assam。

JSON输出看起来很复杂,我没有找到一个很好的方法来从中提取文本。

(我是在Javascript(Node.js)中做的)

请帮助…

解决方案:

我不知道,你希望得到什么。你对页面的API请求实际上是返回封装成JSON结构的wikitext。然而,wikitext(表是其中的一部分)不是JSON,所以你不能真正将其解释为JSON。

我也不太确定,你想要的信息是什么。如果你想在表格中找到足球俱乐部,那么你唯一的选择就是解析wikitext(你也可以从API中返回实际解析过的HTML,以使其 “更容易”),然后自己去查看数据。然而,这可能是一个容易出错且不好玩的任务。

所以,如果你想以结构化的数据格式获得印度所有的足球俱乐部,我可能最好试试Wikidata。它可以让你通过结构化数据来获取你所需要的信息(如果对象有链接到维基百科页面,还可以获取维基百科文章的链接)。在你的使用案例中,也许你可以尝试使用 维基数据查询服务.

在那里,你可以发出这样的查询。

SELECT ?itemLabel ?sitelink WHERE {
  ?item wdt:P31 wd:Q476028;
        wdt:P17 wd:Q668.
  ?sitelink schema:isPartOf <https://en.wikipedia.org/>;
            schema:about ?item.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}

查询印度所有足球俱乐部的列表 并返回一个带有项目标签和英文维基百科文章链接的列表。https:/query.wikidata.org#SELECT%20%3FitemLabel%20%3Fsitelink%20WHERE%20%7B%0A%20%3Fitem%20wdt%3AP31%20wd%3AQ476028%3B%0A%20%20%20%20%wdt%3AP17%20wd%3AQ668. %0A%20%20%3Fsitelink%20schema%3AisPartOf%20%3Chttps%3A%2F%2Fen. wikipedia.org%2F%3E%3B%0A%20%20%20%20%20%20%20%20%20schema%3Aabout%20%3Fitem. %0A%20%20SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22%5BAUTO_LANGUAGE%5D%2Cen%22.%20%7D%0A%7D。

给TA打赏
共{{data.count}}人
人已打赏
未分类

嵌套过滤器返回0 doc_count

2022-9-8 9:21:33

未分类

在一个类型类中使用最低的子类型?

2022-9-8 9:32:35

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索