Python 靓汤罐';我找不到桌子

Python 靓汤罐';我找不到桌子,python,beautifulsoup,Python,Beautifulsoup,我试图用Python和Beautiful Soup从网页上的表中收集一些数据。但是,当我从页面中进行选择时,得到的结果与在浏览器中得到的结果不同。具体来说,这些表格完全丢失了。以下是Firefox开发工具检查器中表格的屏幕截图: 这是我从美丽的汤中得到的结果: 我尝试过使用urllib而不是请求,并且尝试过使用不同的HTML解析器(HTML.parser和lxml)。所有的结果都是一样的。关于这里可能发生的事情以及我如何绕过它来访问表中的数据,有什么建议吗 import requests f

我试图用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)

当您访问时尝试禁用javascript,您将看不到任何表。正如@barny所说,该表是用javascript生成的,因此您不能用BeautifulSoup解析它(至少不容易,请参见)。

网站是通过
javascript
加载的,因此您不能使用
请求
为您呈现
JS
。您可以使用
selenium
requests\u html

到目前为止,我已经能够跟踪从何处获取数据。通过检查
XHR
流量

因此,我们可以使用
pandas.read_csv()
如下所示:

将熊猫作为pd导入
df=pd.read_csv(“https://covid.knoxcountytn.gov/includes/covid_cases.csv")
打印(df)

请回答您的问题,并将您的代码作为
code
而不是
img
,这样我们就可以手动检查并验证是否有可能正在使用javascript填充表格,从而进一步调用ajaz以获取表格内容。此javascript不是(不能是)当您使用
请求检索它时执行-您可能需要使用类似selectium的浏览器模拟,它可以执行javascript,因此您可能能够收集表祝您好运!是的,不要把代码/文本的图片放到问题中——粘贴文本。你链接的帖子正是我需要的!使用html请求来呈现页面的JavaScript让我获得了所需的所有信息。谢谢这是一个绝妙的解决方案。我甚至从未想过我可以直接从网站的同一来源获取数据。谢谢你的建议@我还是欢迎你,伙计。如果答案旁边的复选标记对您有帮助,请随时接受我的答案。问候:)