如何解决为什么这段代码中http-response的html文件不完整?
我正在尝试使用 python 和模块“requests”和“BeautifulSoup”从网站 (https://www.evaschulze-aufgabenpool.de/index.php/s/smwP6ygck2SXRtF) 获取一些数据,但似乎我收到了一个不完整的 html 文件作为响应。例如。与原始 html 文件相比,使用浏览器检查时,我得到的 html 文件中的 table 标记作为响应缺少行。所以我的问题是:这是什么原因,我该如何解决这个问题?
import requests
from bs4 import BeautifulSoup
source = requests.get("https://www.evaschulze-aufgabenpool.de/index.PHP/s/smwP6ygck2SXRtF").text
soup = BeautifulSoup(source,"html.parser")
for table in soup.find_all("table"):
print(table)
解决方法
发生了什么?
表格内容是动态生成的,不包括在您的请求响应中。您必须等到页面/内容加载完毕。
你能做的就是使用硒
from selenium import webdriver
from bs4 import BeautifulSoup
from time import sleep
url = "https://www.evaschulze-aufgabenpool.de/index.php/s/smwP6ygck2SXRtF"
driver = webdriver.Chrome(executable_path=r'C:\Program Files\ChromeDriver\chromedriver.exe')
driver.get(url)
#driver.implicitly_wait(10)
sleep(3)
soup = BeautifulSoup(driver.page_source,"lxml")
for table in soup.find_all("table"):
print(table)
driver.close()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。