虽然有关于这个问题的文档,但我发现自己正在经历大量的悲痛,试图了解需要做什么才能实现我想要的。
我是一个没有权限访问具有 Highcharts 图表的网站的用户,我想将其导出到 csv 中。来自这个 url 和域中类似网页的 Highcharts 是我想要导出的:
https://www.racingandsports.com.au/horse/taiyoo-660888-tab-rating
具体来说,我想要第一个图表。如您所见,它有一个下拉菜单,允许打印图像,并下载为 jpeg、png、pdf 和 svg。我已经看到 JSFiddle 代码片段,下拉菜单有一个导出到 csv 选项。我曾尝试使用脚本运行 Greasemonkey 以及通过 Web 浏览器上的检查元素菜单进行编辑。我在 Ubuntu 上使用 Firefox。
这作为客户端是否可以实现,或者如果我想获得这些数据,我应该使用beautifulsoup程序编写自己的Python来抓取它吗?
这个过程会有点棘手,因为该站点使用 Highcharts v4.0.4,并且可以从v5.0.11导出到 CSV ,但我不能说这是不可能的。
您需要export-data.js
从浏览器开发人员控制台手动添加Highcharts 模块的主体,但首先您需要通过运行该模块所需的一些函数和参数来扩展 Highcharts。我将尝试逐步描述该过程,并尽可能清晰。
将以下代码粘贴到您的控制台中,然后按 Enter 键:
Highcharts.win = window;
Highcharts.inArray = function(item, arr, fromIndex) {
return (
Highcharts.indexOfPolyfill ||
Array.prototype.indexOf
).call(arr, item, fromIndex);
};
Highcharts.find = function(arr, fn) {
var i,
length = arr.length;
for (i = 0; i < length; i++) {
if (fn(arr[i], i)) {
return arr[i];
}
}
};
现在,您应该能够通过打开下拉菜单并单击顶部列表中的第一个“未定义”来下载 CSV。
我测试了它并且它正在工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句