从交互式图表中抓取数据

2023-11-29

是否可以获取交互式图表背后的数据这个网页(抱歉,网站需要登录)?

当我用鼠标悬停在图表上时,数据就会显示出来,但是如何获取这些数据呢?

以下是该网站 HTML 源代码的摘录:

<svg height="460" version="1.1" width="1037" xmlns="http://www.w3.org/2000/svg" style="overflow: hidden; position: relative; left: -0.5px;">
<desc>Created with Raphaël 2.1.0</desc>
<defs>

<path style="" fill="none" stroke="#f1f1f1" d="M20,130L1017,130M20,159.66666666666666L1017,159.66666666666666M20,189.33333333333331L1017,189.33333333333331M20,219L1017,219M20,248.66666666666666L1017,248.66666666666666M20,278.3333333333333L1017,278.3333333333333M20,308L1017,308">
<path style="" fill="none" stroke="#f1f1f1" d="M295.0344827586207,130L295.0344827586207,337.66666666666663M295.0344827586207,365L295.0344827586207,415M535.6896551724138,130L535.6896551724138,337.66666666666663M535.6896551724138,365L535.6896551724138,415M776.3448275862069,130L776.3448275862069,337.66666666666663M776.3448275862069,365L776.3448275862069,415M1017,130L1017,337.66666666666663M1017,365L1017,415">
<path style="" fill="none" stroke="#cccccc" d="M17,337.66666666666663L1018,337.66666666666663">
<path style="" fill="none" stroke="#cccccc" d="M17,365L1018,365">
<rect x="20" y="130" width="997" height="207.66666666666666" r="0" rx="0" ry="0" fill="#ff0000" stroke="none" style="opacity: 0;" opacity="0">
<path style="" fill="none" stroke="#6e87d7" d="M20,281.030303030303L54.37931034482759,316.6902356902357L88.75862068965517,318.78787878787875L123.13793103448276,318.78787878787875L157.51724137931035,318.78787878787875L191.89655172413794,312.4949494949495L226.27586206896552,285.2255892255892L260.65517241379314,312.4949494949495L295.0344827586207,314.59259259259255L329.41379310344826,316.6902356902357L363.7931034482759,297.8114478114478L398.1724137931035,318.78787878787875L432.55172413793105,335.56902356902356L466.9310344827586,293.61616161616155L501.3103448275862,276.8350168350168L535.6896551724138,272.6397306397306L570.0689655172414,274.7373737373737L604.448275862069,272.6397306397306L638.8275862068965,216.00336700336698L673.2068965517242,216.00336700336698L707.5862068965517,239.07744107744105L741.9655172413793,281.030303030303L776.344827586207,144.68350168350165L810.7241379310345,245.37037037037032L845.1034482758621,239.07744107744105L879.4827586206897,247.46801346801345L913.8620689655172,245.37037037037032L948.2413793103449,245.37037037037032L982.6206896551724,207.61279461279457L1017,163.56228956228955" stroke-width="2">
<path style="" fill="none" stroke="#f1f1f1" d="M20,390L1017,390M20,415L1017,415">
<path style="opacity: 

还有很多很多这样的path元素,我没有粘贴在这里。


您必须解析该信息(并从您的标签猜测,您将需要在 python 中执行此操作)。然而,快速浏览了一下拉斐尔文档,我相当确定您可以通过另一种更快的方式获取数据:数据必须作为 JavaScript 数组存在于某处。首先尝试寻找那个。

最终,您找到的 SVG 将根据此 javascript 数据生成。如果你看一下SVG 路径元素描述,你会看到那些M and L需要解释定义,然后您应该能够将这些行解析为您喜欢的(python)数据集。

但是,我想再次声明,即使没有图片(是直方图还是折线图?),我们也很难找到您要查找的内容。正在绘制的线条L可能就是您所需要的。

例如,如果您采用 python 会话中列出的第一个路径,则可以执行以下操作:

svg_string = "M20,130L1017,130M20,159.66666666666666L1017,159.66666666666666M20,189.33333333333331L1017,189.33333333333331M20,219L1017,219M20,248.66666666666666L1017,248.66666666666666M20,278.3333333333333L1017,278.3333333333333M20,308L1017,308"
import re
data = [map(float, xy.split(',')) for xy in re.split('[ML]', svg_string)[1:]]

请注意,这只能正确工作,因为Move and Line 命令在此字符串中轮流执行。但它看起来确实像所有其他路径都是以类似的方式生成的(这让我更强烈地认为数据集只是您尚未查看的 javascript 文件中的某个位置)。

最后,要获取此源代码,您应该考虑使用urllib2用于程序化检索。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从交互式图表中抓取数据 的相关文章

  • 如何在多进程系统中实现锁定?

    我们正在并行运行许多詹金斯项目 我们使用 python 并且选择使用 pyenv 管理虚拟环境 不幸的是 pyenv 有一个众所周知的竞争条件 https github com yyuu pyenv issues 174 为了解决这个问题
  • 从文本文件中删除特定字符

    我对 Python 和编码都很陌生 我当时正在做一个小项目 但遇到了一个问题 44 1 6 23 2 7 49 2 3 53 2 1 68 1 6 71 2 7 我只需要从每行中删除第三个和第六个字符 或者更具体地说 从整个文件中删除 字符
  • 使用 django-rest-framework 设置对象级权限

    尝试使用 django rest framework 最干净 最规范地管理 django guardian 对象级权限 我想将对象的读取权限 module view object 分配给在执行 POST 时发出请求的用户 我的基于阶级的观点
  • 多处理中的动态池大小?

    有没有办法动态调整multiprocessing Pool尺寸 我正在编写一个简单的服务器进程 它会产生工作人员来处理新任务 使用multiprocessing Process对于这种情况可能更适合 因为工作人员的数量不应该是固定的 但我需
  • 如何返回 cost, grad 作为 scipy 的 fmin_cg 函数的元组

    我怎样才能使 scipy 的fmin cg使用一个返回的函数cost and gradient作为元组 问题是有f对于成本和fprime对于梯度 我可能必须执行两次操作 非常昂贵 grad and cost被计算 此外 在它们之间共享变量可
  • 是否可以从 Julia 调用 Python 函数并返回其结果?

    我正在使用 Python 从网络上抓取数据 我想使用这些数据在 Julia 中运行计算 是否可以在 Julia 中调用该函数并返回其结果 或者我最好直接导出到 CSV 并以这种方式加载数据 绝对地 看PyCall jl https gith
  • 从 Azure ML 实验中访问 Azure Blob 存储

    Azure ML 实验提供了通过以下方式读取 CSV 文件并将其写入 Azure Blob 存储的方法 Reader and Writer模块 但是 我需要将 JSON 文件写入 blob 存储 由于没有模块可以执行此操作 因此我尝试在Ex
  • 如何通过 python 多处理利用所有核心

    我一直在摆弄Python的multiprocessing现在已经使用了一个多小时的功能 尝试使用并行化相当复杂的图形遍历函数multiprocessing Process and multiprocessing Manager import
  • 如何过滤 Pandas GroupBy 对象并获取 GroupBy 对象?

    当对 Pandas groupby 操作的结果执行过滤时 它返回一个数据帧 但假设我想执行进一步的分组计算 我必须再次调用 groupby 这似乎有点绕 有更惯用的方法吗 EDIT 为了说明我在说什么 我们无耻地从 Pandas 文档中窃取
  • 创建上下文后将 jar 文件添加到 pyspark

    我正在笔记本上使用 pyspark 并且不处理 SparkSession 的创建 我需要加载一个包含一些我想在处理 rdd 时使用的函数的 jar 您可以使用 jars 轻松完成此操作 但在我的特定情况下我无法做到这一点 有没有办法访问sp
  • Arcpy 模数在 Pycharm 中不显示

    如何将 Arcpy 集成到 Pycharm 中 我尝试通过导入模块但它没有显示 我确实知道该模块仅适用于 2 x python arcpy 在 PyPi Python 包索引 上不可用 因此无法通过 pip 安装 要使用 arcpy 您需要
  • 运行 Python 单元测试,以便成功时不打印任何内容,失败时仅打印 AssertionError()

    我有一个标准单元测试格式的测试模块 class my test unittest TestCase def test 1 self tests def test 2 self tests etc 我的公司有一个专有的测试工具 它将作为命令行
  • Python将文本文件解析为嵌套字典

    考虑以下数据结构 HEADER1 key value key value HEADER2 key value key value HEADER3 key value HEADER4 key value key value 原始数据中没有缩进
  • 根据其他单元格值更改多个单元格值

    我想更改包含的单元格moving to movingToOpenor movingToClose基于下一个单元格中给出的状态 有时循环会被中断并且不会从open to close or close to open 这是我当前的数据框 Dat
  • python中basestring和types.StringType之间的区别?

    有什么区别 isinstance foo types StringType and isinstance foo basestring 对于Python2 basestring是两者的基类str and unicode while type
  • pandas 相当于 np.where

    np where具有向量化 if else 的语义 类似于 Apache Spark 的when otherwise数据帧方法 我知道我可以使用np where on pandas Series but pandas通常定义自己的 API
  • 是否需要关闭没有引用它们的文件?

    作为一个完全的编程初学者 我试图理解打开和关闭文件的基本概念 我正在做的一项练习是创建一个脚本 允许我将内容从一个文件复制到另一个文件 in file open from file indata in file read out file
  • 使用 Python 将连续日期分组在一起

    Given dates datetime 2014 10 11 datetime 2014 10 1 datetime 2014 10 2 datetime 2014 10 3 datetime 2014 10 5 datetime 201
  • Python bug - 或者我的愚蠢 - 扫描字符串文字时 EOL

    我看不出以下两行之间有显着差异 然而第一个解析 而后者则不解析 In 5 n Axis of Awesome In 6 n Axis of Awesome File
  • minizinc python 安装

    我通过 anaconda 提示符在 python 上安装了 minizinc 就像其他软件包一样 pip install minizinc 该软件包表示已成功安装 我可以导入该模块 但是 我正在遵循基本示例https minizinc py

随机推荐

  • 如何在c#.net中动态创建的按钮上执行点击事件

    我正在尝试构建一个应用程序 用户可以在其中选择类别并根据它显示其子类别 这些子类别是动态创建的按钮 现在 由于按钮是动态创建的 所以我很困惑如何在button click事件下编写代码 因为我不知道有多少子类别 那么有什么方法可以执行特定按
  • Xcode 9 Beta - 编辑器,列选择不见了?

    在以前版本的Xcode中 我们可以按住Alt Option键 拖动鼠标来选择文本编辑器中的列 在 Xcode 9 Beta 中这似乎不起作用 现在已经消失了 还是有不同的组合键 有任何想法吗 根据 Xcode 9 发行说明 这是一个缺失的功
  • 在 Microsoft Visual Studio 2015 中重新定义 C/C++ 入口点

    事情是这样的 伙计们 我在尝试使程序的入口点不被调用时遇到了麻烦main早些时候 在 Visual Studio 2012 中这非常简单 我只是使用 ENTRY链接器的密钥或我的项目的相同设置 项目 gt project name 属性 g
  • 如何在 CakePHP 中为一个模型动态使用多个数据库

    好吧 我的第一个问题被修改了很多次 所以我选择删除它并重新表述我的问题 我制作了一个具有不同模型名称的小型测试用例项目 以找到适合我的问题的解决方案 Warning 不要混用数据库与tables 动机 我将用户数据分成多个数据库对于法律和绩
  • 使用 ado 和 vbscript 从 csv 更新数据库而不需要记录集循环?

    我想使用 Vb 脚本和 ADO 将 csv 文件中的数据上传到 Access 数据库 这样我就不必打开 Access 或 Excel 到目前为止 我在下面有一个工作脚本 但是有没有更好的方法来批量上传数据 而无需创建记录集并循环每条记录 我
  • 是什么原因导致 ClickOnce URLDownloadToCacheFile 在安装过程中失败?

    通过 Firefox 安装 ClickOnce 应用程序时出现以下错误 在同一台计算机上使用 IE 则不会发生这种情况 我发誓我以前通过 firefox 安装过它 这是一台 Windows 7 机器 The following proper
  • 在 Windows 应用商店应用程序 WebView 中通过请求发布数据 - 使用 C#

    我的应用程序中有以下场景 首次启动时 用户可以注册一个帐户 然后 应用程序从我的网络服务器获取一对 int user id string session id 并将该数据存储在应用程序中 在我的应用程序中 我使用 WebView 它可以让用
  • 如何将数组中的每个元素转换为自己的数组?

    使用 Ruby 2 4 我有一个字符串数组 a b c 如何获取上述内容并将每个元素转换为它自己的一个元素数组 所以我希望这样的操作的结果是 a b c 您可以使用zip a b c zip gt a b c
  • ASP.NET 中的批量 301 重定向,包括需要根据查询字符串参数重定向到不同位置的页面

    我们网站的多个页面使用旧的非 SEO 友好 URL 进行索引 例如http www domain com DocumentDetails aspx id 555 最近 我们实现了使用存储在数据库中的 slug 的路由 并查找 slug 以使
  • C#读取USB设备序列号

    有没有办法使用 Visual Studio 2005 读取 USB 设备序列号和 USB 文本文件中的数据 尝试这个 USBSerialNumber usb new USBSerialNumber string serial usb get
  • 部署gae java时如何设置版本?

    由于 Intellij Idea IDE gae 部署插件不起作用 我必须使用mvn appengine update 它始终部署到版本 1 忽略 appengine web xml 中的版本 如何设置版本mvn appengine upd
  • 如何使用 NHibernate 进行分页?

    例如 我想仅使用显示的行数所需的数据填充 ASP NET 网页中的 gridview 控件 NHibernate 如何支持这一点 ICriteria has a SetFirstResult int i 方法 它指示您希望获取的第一个项目的
  • 实现弯曲动画的问题[重复]

    这个问题在这里已经有答案了 可能的重复 Android 沿路径移动位图 我想通过弯曲的路径移动图像 在android中可以吗 我搜索了很多 但我只能找到有关缩放 旋转和翻译动画的信息 所以有人有任何想法请帮忙 在 Android 中可能吗
  • 如何为 VS Code 创建默认/全局启动配置?

    我一直设置相同启动 json每个项目的文件 但我想更改默认值 以便它已经配置了启动目标 我可以更改默认值吗 或者可以创建一个用户值吗 我在 Mac OS X 上使用它 None
  • 是否可以使用回调类型定义来定义函数?

    我对使用预定义回调类型定义函数感兴趣 假设我已经定义了回调类型 typedef BOOL is trigger required cb void 现在我想使用上述类型声明并定义一个函数 我想做这样的事情 is trigger require
  • Ubuntu 上的 Docker hello-world - 权限被拒绝

    我正在尝试让 docker v 1 8 2 在 Ubuntu 14 04 上工作 使用 docker 配置文件中的 g 选项 Ubuntu 位于 USB 密钥上 在不使用机器磁盘的情况下提取映像时出现错误 结果是docker拉取了hello
  • 使用 javascript 正则表达式替换和增加整数值

    给定以下字符串 XXXX Units 4 Test XXXX 我想替换每次出现的Unit x with Unit x 1 我正在尝试使用正则表达式来实现此目的 如名称所示Units需要首先进行字面匹配 我正在尝试这样的事情 test rep
  • Shiny:根据输入选择输入子集

    编辑 感谢您的帮助 我的代码存在多个问题 但主要问题是我缺少 Observe 语句 以下解决了问题 get ddf lt reactive filter poskick Name input player observe updateSel
  • iPhone AVCaptureDeviceInput 如何设置音频捕获的质量?

    以下代码在 44100 深度 2 处工作正常 一些检查和代码被删除 这似乎是默认值 由于这个界面可用 但没有很好的记录 有人知道如何更改默认质量吗 audioCaptureDevice AVCaptureDevice defaultDevi
  • 从交互式图表中抓取数据

    是否可以获取交互式图表背后的数据这个网页 抱歉 网站需要登录 当我用鼠标悬停在图表上时 数据就会显示出来 但是如何获取这些数据呢 以下是该网站 HTML 源代码的摘录