[英]Beautiful Soup can't find tables
我正在尝试从 web 页面上的表格中收集一些数据,其中包含 Python 和 Beautiful Soup。 但是,当我从页面中进行选择时,得到的结果与在浏览器中得到的结果不同。 具体来说,这些表完全丢失了。 这是 Firefox 开发工具检查器中表格的屏幕截图:
这是我从 Beautiful Soup 获得的 output:
我试过使用 urllib 而不是请求,我试过使用不同的 HTML 解析器(html.parser 和 lxml)。 所有给出相同的结果。 关于这里可能发生的事情以及我如何绕过它以访问表中的数据的任何建议?
import requests
from bs4 import BeautifulSoup
import pandas
import tabula
import html5lib
knox = requests.get("https://covid.knoxcountytn.gov/case-count.html")
knox_soup = BeautifulSoup(knox.text, 'html5lib')
knox_confirmed = knox_soup.find('div', id='covid_cases').prettify()
print(knox_confirmed)
当您访问https://covid.knoxcountytn.gov/case-count.html时尝试禁用 javascript,您将看不到任何表格。 正如@barny 所说,该表是使用 javascript 生成的,因此您无法使用 BeautifulSoup 对其进行解析(至少不容易,请参阅如何使用 BeautifulSoup 和 Python 调用 JavaScript function )。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.