我希望将svg图表像净资产优势http://www.dotabuff.com/matches/2502387920一样转换成一个表格,其中一列中包含游戏分钟,而另一列中则有优势。
我从非常明显的代码行开始
library(rvest)
pic <- html("http://www.dotabuff.com/matches/2502387920") %>% html_node(xpath = "//svg")
然后我认为最有用的信息是属性d
pic %>% html_attr("d")
最后,我得到类似“m1234.8,2812.1,6.3004,3.6375,0,1.77-6.3004-3.6375z”的内容。我不知道如何解释它。
答案 0 :(得分:1)
不是技术上的答案但是评论太大
那是因为您正在查看实际的SVG本地坐标。将这些转换回真实数据将是丑陋的(如果几乎不可能)。通常,我建议只从XHR请求中提取数据,但该网站不会对数据发出XHR请求。他们通过将编码数据嵌入到某些<a-entity>
<a-box><a-animation/></a-box>
</a-entity>
中来实际使用Highcharts数据混淆技术。这是您的数据:
<div>
(复制/粘贴到编辑器中以查看3个div,其中2个嵌入在第一个中)。
我无法找到有关此编码格式的文档(它不是简单的base64编码),并且看起来该网站在防止轻松数据抓取方面遇到了相当大的麻烦。您可能希望看看是否可以通过其API获取此数据。
答案 1 :(得分:1)
您可以在适当的jQuery选择器上使用highcharts插件。该
可以使用css x[i]
[data-highcharts-chart='0']