Web爬网:BeautifulSoup页面中不包含表

时间:2019-03-07 22:53:40

标签: python beautifulsoup

我正在尝试从此页面上的表格中抓取公司信息表格: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

2 个答案:

答案 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

应该为您提供与上述查询相同的结果。