【问题标题】:Use Wikipedia API to Fetch Table Elements (javascript/jQuery)?使用 Wikipedia API 获取表格元素 (javascript/jQuery)?
【发布时间】:2018-10-16 15:25:33
【问题描述】:

我已经为此进行了广泛的搜索,但遗憾的是无法找到答案。我正在尝试使用 Wikipedia API 和 JavaScript/jQuery 从 Wikipedia 页面获取表格元素。比如下面这个页面:

https://en.wikipedia.org/wiki/2017_NFL_Draft

如果我希望能够使用 API 仅获取表格的一个单元格(例如第 1 轮、第 7 顺位或所有从 UCLA 选拔的球员),有没有办法做到这一点?因为这些页面的每个页面都是相同的,所以认为跨页面进行一次调用很容易(只需将 url 增加 1),但我没有任何运气使用 API 来获取除部分之外的任何内容。

我尝试了显示表格的测试调用:

https://en.wikipedia.org/w/api.php?action=parse&page=2017_NFL_Draft&section=2&prop=text

我看到了我想要抓取但不知道如何抓取的特定元素。有没有办法做到这一点?将数据复制/粘贴到 excel 中并以我想要的形式放置会更好吗?

感谢您的所有帮助!

【问题讨论】:

标签: javascript jquery html json wikipedia


【解决方案1】:

我相信这就是您正在寻找的。我正在拉主桌。您可以在我的 $table 对象中优化您的元素查询

var params = {
  origin: '*',
  action: 'parse',
  page: '2017_NFL_Draft',
  section: 2,
  prop: 'text',
  format: 'json'
};

$.getJSON('https://en.wikipedia.org/w/api.php', params).then(res => {
  var $table = $(res.parse.text['*']).find('table').eq(3)
  $('body').append($table)
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

【讨论】:

  • 哇,这太棒了!非常感谢......正是我需要让我开始的东西。一个问题……这里的“原点”用“*”表示什么?从 wiki 文档中不清楚。
  • 哦,这是来自mediawiki.org/wiki/Manual:CORS 的 CORS 要求。追踪起来很痛苦。我还不得不在这个网站上进行搜索,发现使用 * 作为来源有效
  • 建议您为此提出一个新问题,并在该问题中提供源 html
  • 谢谢,但我想我实际上已经弄清楚了,或者更确切地说,我已经接近了(所以我删除了这个问题)!在这里感谢您的帮助,绝对是巨大的。
猜你喜欢
  • 1970-01-01
  • 2011-11-03
  • 2010-09-14
  • 2023-03-06
  • 1970-01-01
  • 2016-07-12
  • 2021-09-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多