我正在尝试访问此站点(底部)的图形点上找到的悬停文本:
我有完整的网站html,但我无法找到悬停文本中显示的值。检查点时可以看到的是x和y值,它们是这些值的转换版本。可以使用从hovertext中获取的手动输入来确定映射,但是这违背了查看html的目的。此外,映射会随着每个匹配历史记录而变化,因此对大量游戏执行此操作是不可行的。
有什么方法吗?
谢谢
答案 0 :(得分:0)
此网页上的所有内容都是通过JavaScript通过JSON加载的。我们甚至不需要请求原始页面。但是,你必须通过id项目,神秘等来一起回归页面,这不会太难,因为你可以请求类似我们获取项目的类型。
所以,我通过inspect 中的网络选项卡,我发现它加载了以下JSON格式的URL:
https://acs.leagueoflegends.com/v1/stats/game/TRLH1/1002200043?gameHash=b98e62c1bcc887e4
如果您注意到,有一个gameHash
和ID(类似于您刚刚发送给我的链接)。此页面包含重建它所需的一切,因为您获取所有可靠的JSON文件。
您可以在Python中使用json.loads
加载它,但我建议使用的一个很好的工具是:
https://jsonformatter.curiousconcept.com/
您可以在其中复制并粘贴JSON,它将帮助您理解数据结构。
网页通过JSON文件加载所有这些信息:
https://ddragon.leagueoflegends.com/cdn/7.10.1/data/en_US/item.json
它包含有关游戏中每个项目的所有信息和工具提示。您可以通过以下方式访问所需的项目:theirJson['data']['1001']
。页面文件名中的每个图像都是此示例中的id(或1001
)。
例如,对于'Boots of Speed'
:
import requests, json
itemJson = json.loads(requests.get('https://ddragon.leagueoflegends.com/cdn/7.10.1/data/en_US/item.json').text)
print(itemJson['data']['1001'])
可以使用硒。你应该查一查。它被移植到几种编程语言中,一种是Python。它可能会像你想要的那样工作,但我真诚地认为JSON方法(如上所述)虽然有点复杂,但性能会更快(因为根据你的帖子,速度似乎是一个重要的因素)。 / p>