我正在尝试从此页面上的表格中抓取公司信息表格:https://tools.ceres.org/resources/tools/sec-sustainability-disclosure/
使用chrome的dev工具元素检查器时,我可以看到表的内容,但是当我在脚本中请求页面时,表的内容就消失了……只是没有内容。
有什么主意,我怎么能得到那甜美,甜美的内容?
谢谢
代码如下:
import requests
from bs4 import BeautifulSoup
response = requests.get("https://tools.ceres.org/resources/tools/sec-sustainability-disclosure/")
page = BeautifulSoup(response.text, "html.parser")
page
答案 0 :(得分:0)
基于使用dev工具的网络流量,内容不是直接在html上,而是从ApiService.js脚本动态调用。我的建议是,在页面完全加载后(例如,直到加载元素消失之前),使用Selenium提取内容。
答案 1 :(得分:0)
您可以在网络流量标签中找到该API:它正在调用
https://tools.ceres.org/resources/tools/sec-sustainability-disclosure/@@api-disclosure?isabstract=0&companyName=&ticker=&year=2018&analysis=1&index=&sic=&keywords=
,您应该能够从生成的JSON重构表。我尚未使用所有参数,但似乎只有 year 会影响所得的数据集,即
https://tools.ceres.org/resources/tools/sec-sustainability-disclosure/@@api-disclosure?isabstract=0&year=2018&analysis=1
应该为您提供与上述查询相同的结果。