无法使用python脚本获取api密钥

时间:2019-04-06 14:23:51

标签: python python-3.x web-scraping

我已经在python中创建了一个脚本,以从网页中获取不同的sumbols及其values。我使用了sitelink来收集所需的内容,但是我注意到他的页面内容是动态生成的,因此我使用了我使用chrome开发工具收集的api

有一个api_key与该api相关联。

如何使用我使用chrome开发工具收集的脚本来获取该api密钥?

到目前为止,我已经写过(工作正常):

import requests

url = "https://platform-api.flipsidecrypto.com/api/v1/metrics/FCAS/assets?"

params = {'api_key': '6e9c2808-0c48-41d8-81f1-5363d5ceb1af'}

res = requests.get(url,params=params)
for item in res.json():
    print(item['asset_name'],item['value'])

1 个答案:

答案 0 :(得分:1)

我不知道Selenium是否可以访问DevTools,但是我发现很少有可能可行的方法。据我所知,旧版本可以访问浏览器菜单,而新版本则不能,因此它可能也无法访问DevTools。

  1. 键可以位于某些文件的HTML或JS中。脚本可以获取HTML并在HTML中搜索关键字。它还可以获取到JS的链接,加载它们并搜索关键字。但是问题在于如何识别密钥-可以在api_key=之后还是不可以。也可以隐藏起来。与base64。您必须首先手动找到它,然后看看如何用钥匙识别位置。

  2. 运行本地代理服务器,并将浏览器配置为使用此服务器。我使用一些带有GUI的代理服务器来手动检查链接,但是有python代理服务器mitmpy(Man-In-The-Middle-Py),您可以在运行时使用python来访问该服务器

  3. 我不知道Selenium是否可以访问Chrome / Firefox中的DevTools-我从不需要检查它。但是,也许有Firefox扩展可以将所有请求保存到文件中(或者也许我会尝试使用JavaScript创建扩展),这样我就可以获得键的链接。这将是半自动化的方法。