<p>请注意,抓取此网站可能会被标记为“<em>违反服务条款</em>”,此特定网站使用多种技术来避免基于脚本引擎的抓取。在</p>
<hr/>
<p>如果您检查网页,您可能会发现,当您单击“下一步”按钮时,没有XHR请求。因此您可以推断内容只加载了一次。在</p>
<p>如果按大小对请求数据进行排序,您将发现所有数据都是从<a href="https://www.bloomberg.com/graphics/ceo-pay-ratio/live-data/ceo-pay-ratio/live/data.json" rel="nofollow noreferrer">json file</a>加载的</p>
<hr/>
<p>使用python(但是需要在运行python脚本之前打开页面):</p>
<pre><code>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 !"
</code></pre>
<p>给你:</p>
^{pr2}$
<hr/>
<p>也许最好在webrowser中打开json,然后将其保存在本地,而不是尝试请求网站。在</p>
<p>在本地将json保存为<code>data.json</code>之后,可以使用以下命令读取:</p>
<pre><code>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 !"
</code></pre>