我正在尝试使用Python和Beautiful Soup从网页上的表中收集一些数据。但是,当我从页面上进行选择时,得到的结果与在浏览器中得到的结果不同。具体来说,表完全丢失。这是Firefox开发工具检查器中表格的屏幕截图:
这是我从美丽汤中得到的输出:
我尝试使用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)
答案 0 :(得分:1)
尝试访问https://covid.knoxcountytn.gov/case-count.html时禁用javascript,您将看不到任何表格。正如@barny所说,该表是用javascript生成的,因此您无法使用BeautifulSoup解析它(至少不容易,请参阅How to call JavaScript function using BeautifulSoup and Python)。
答案 1 :(得分:0)