Python请求输出与预期输出不同
我正试图从下面的表格中删除生成表 我有以下代码:Python请求输出与预期输出不同,python,python-requests,Python,Python Requests,我正试图从下面的表格中删除生成表 我有以下代码: import requests from bs4 import BeautifulSoup source = requests.get('http://reneweconomy.com.au/nem-watch/', headers={'User-Agent': 'Mozilla/5.0'}) soup = BeautifulSoup(source.text, 'html.parser') table = soup.table["d
import requests
from bs4 import BeautifulSoup
source = requests.get('http://reneweconomy.com.au/nem-watch/', headers={'User-Agent': 'Mozilla/5.0'})
soup = BeautifulSoup(source.text, 'html.parser')
table = soup.table["database table"].strip()
print(table)
但是,即使在浏览inspect时,该代码在已删除的页面中找不到任何表,也不例外。
这是否可能是站点未正确进行刮取的问题
谢谢此页面使用
JavaScript
加载数据并创建表
使用Firefox/Chrome中的DevTools
,我发现它可以从
作为JSON数据
结果
region: Queensland
fuel type: Black Coal
value: 5536.51307
---
region: Queensland
fuel type: Gas
value: 560.24621
---
region: Queensland
fuel type: Liquid Fuel
value: 0.0
---
region: Queensland
fuel type: Other
value: 23.9
---
region: Queensland
fuel type: Hydro
value: 18.415
---
# etc.
该表是动态生成的吗?因为该数据位于
iframe
中。尝试使用https://ausrealtimefueltype.global-roam.com/reneweconomy
作为您的URL。顺便说一句:在web浏览器中关闭JavaScript,然后在web浏览器中加载您的URL-您将看到请求
可以在HTML中获得什么。它似乎将API中的数据读取为JSON数据-因此您可以使用它来获取它:除了@furas所说的关于打开在使用JavaScript时,我总是将请求调用的结果写入一个文件,这样我就可以确切地看到我的程序将访问什么。Perfect在您发布此消息时才想到获取json!
region: Queensland
fuel type: Black Coal
value: 5536.51307
---
region: Queensland
fuel type: Gas
value: 560.24621
---
region: Queensland
fuel type: Liquid Fuel
value: 0.0
---
region: Queensland
fuel type: Other
value: 23.9
---
region: Queensland
fuel type: Hydro
value: 18.415
---
# etc.