Javascript 是否将导出到csv选项作为客户端用户添加到Highcharts图表?

Javascript 是否将导出到csv选项作为客户端用户添加到Highcharts图表?,javascript,highcharts,export-to-csv,Javascript,Highcharts,Export To Csv,虽然有关于这个问题的文件,但我发现自己正经历着巨大的悲痛,试图了解需要做些什么才能实现我的愿望 我是一个没有权限访问一个网站的用户,该网站有我想要导出到csv的Highcharts。此url中的Highcharts和域中的类似网页是我想要导出的: 我特别想要第一张图表。如您所见,它有一个下拉菜单,允许打印图像,并将其下载为jpeg、png、pdf和svg。我已经看到了JSFIDLE代码片段,它在下拉菜单中有一个导出到csv选项。我尝试过使用脚本运行Greasemonkey,以及通过web浏览器

虽然有关于这个问题的文件,但我发现自己正经历着巨大的悲痛,试图了解需要做些什么才能实现我的愿望

我是一个没有权限访问一个网站的用户,该网站有我想要导出到csv的Highcharts。此url中的Highcharts和域中的类似网页是我想要导出的:

我特别想要第一张图表。如您所见,它有一个下拉菜单,允许打印图像,并将其下载为jpeg、png、pdf和svg。我已经看到了JSFIDLE代码片段,它在下拉菜单中有一个导出到csv选项。我尝试过使用脚本运行Greasemonkey,以及通过web浏览器上的inspect元素菜单进行编辑。我在Ubuntu上使用Firefox


作为一个客户端,这是可以实现的吗?或者如果我想获得这些数据,我是否应该开始用beautifulsoup程序编写自己的Python来刮取它?

这个过程会有点棘手,因为站点使用Highchartsv4.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];
        }
      }
    };
    
    Highcharts.win=窗口;
    Highcharts.inArray=函数(项目、arr、fromIndex){
    返回(
    Highcharts.indexOfPolyfill||
    Array.prototype.indexOf
    ).调用(arr、item、fromIndex);
    };
    Highcharts.find=函数(arr,fn){
    var i,
    长度=arr.length;
    对于(i=0;i
  • 然后,只需打开,复制整个代码,将其粘贴到控制台并运行即可
  • 现在,您应该能够通过打开下拉菜单并单击列表顶部的第一个“未定义”来下载CSV


    我测试过了,它运行正常。

    天哪,你真是个天才!效果很好。返回距离、评分、平均评分和赢家。我相信我可以修改提供的代码以获得其他变量,但您已经提供了我想要的。非常感谢。当然,您可以通过开发者控制台
    更新所有图表,因为Highcharts库在全球范围内都可用。所有图表都位于高位图表中。图表位于数组中。