spa*_*ark 4 html python beautifulsoup web-scraping python-requests
我正在尝试从此网站提取表数据
以下是代码——
import requests
from bs4 import BeautifulSoup as bs
page = requests.get('https://www.vitalityservicing.com/serviceapi/Monitoring/QueueDepth?tenantId=1')
soup = bs(page.text, "html.parser")
#None of the following method works
tb = soup.table
#tb = soup.body.table
#tb = soup.find_all('table')
Run Code Online (Sandbox Code Playgroud)
当我尝试打印tb它时None
所以我尝试查看body下载的 HTML
print(soup.body.prettify())
Run Code Online (Sandbox Code Playgroud)
我没有看到table元素或其子元素。仅存在<body>和元素:<script>
但是当我检查 chrome 中的页面时,我看到了所有元素:
我不明白为什么当我在 chrome 上加载页面时该table元素没有被下载requests.get
您没有获得该内容,因为当您执行请求时,该内容不存在于页面中。然而。
如果您检查脚本标记之间的 JavaScript 代码,您可以看到它正在动态生成表格。因此,您会在此之前收到 html 代码,因为它requests不是浏览器,不会执行 js,并且您看不到该表。
现在您知道为什么看不到表格了,您的下一个问题是如何在 javascript 执行后生成 HTML。别晕,这是可行的。您可能会发现这个问题的解决方案很有趣。
祝你好运
| 归档时间: |
|
| 查看次数: |
4384 次 |
| 最近记录: |