【发布时间】:2020-08-08 13:55:33
【问题描述】:
我正在尝试使用 Python 和 Beautiful Soup 从网页上的表格中收集一些数据。但是,当我从页面中进行选择时,我得到的结果与在浏览器中得到的结果不同。具体来说,这些表完全丢失了。这是 Firefox 开发工具检查器中表格的屏幕截图:
这是我从 Beautiful Soup 得到的输出:
我尝试使用 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)
【问题讨论】:
-
请edit您的问题并将您的代码包含为
code而不是img,以便我们手动检查和验证 -
可能是使用 javascript 填充表格,这会进一步调用 ajaz 来获取表格内容。当您使用
requests检索它时,该 javascript 不会(不能)执行 - 您'可能必须使用可以执行javascript的selectium之类的浏览器模拟,因此您可能能够收集表格祝您好运! -
是的,不要将代码/文本的图像放入问题中 - 粘贴文本。
标签: python beautifulsoup