import requests
data=requests.get("https://www.bloomberg.com/graphics/ceo-pay-ratio/live-data/ceo-pay-ratio/live/data.json").json()
for each in data['companies']:
try:
print "Company",each['c'],"=> CEO pay ratio",each['cpr']
except:
print "Company",each['c'],"=> no CEO pay ratio !"
给你:
^{pr2}$
也许最好在webrowser中打开json,然后将其保存在本地,而不是尝试请求网站。在
在本地将json保存为data.json之后,可以使用以下命令读取:
import json
with open("data.json","r") as f:
cont=f.read()
data=json.loads(cont)
for each in data['companies']:
try:
print "Company",each['c'],"=> CEO pay ratio",each['cpr']
except:
print "Company",each['c'],"=> no CEO pay ratio !"
请注意,抓取此网站可能会被标记为“违反服务条款”,此特定网站使用多种技术来避免基于脚本引擎的抓取。在
如果您检查网页,您可能会发现,当您单击“下一步”按钮时,没有XHR请求。因此您可以推断内容只加载了一次。在
如果按大小对请求数据进行排序,您将发现所有数据都是从json file加载的
使用python(但是需要在运行python脚本之前打开页面):
给你:
^{pr2}$也许最好在webrowser中打开json,然后将其保存在本地,而不是尝试请求网站。在
在本地将json保存为
data.json
之后,可以使用以下命令读取:由于该网站似乎是动态加载内容,我相信您将需要Selenium,一个自动化浏览器的库,和{a2},一个分析结果网页的库。在
因为你感兴趣的部分网站只是一个网页,你只需要检索数据,我建议你首先调查如何将数据加载到网页。您可以使用与脚本相同的参数直接向其服务器发出请求,以直接检索您感兴趣的数据。在
要提出这样的请求,您可以考虑使用另一个名为requests的库。在
相关问题 更多 >
编程相关推荐