为了账号安全,请及时绑定邮箱和手机立即绑定

使用 python 获取具有动态扩展容器的页面的完整 HTML

使用 python 获取具有动态扩展容器的页面的完整 HTML

12345678_0001 2024-01-11 16:16:56
我正在尝试从ratemyprofessors.com 中提取完整的HTML,但是在页面底部,有一个“加载更多评级”按钮,可让您查看更多评论。我正在使用 requests.get(url) 和 beautifulsoup,但这只给出前 20 条评论。有没有办法让页面在返回之前加载所有评论?这是我目前正在做的,给出了前 20 条评论,但不是全部。    response = requests.get(url)    soup = BeautifulSoup(response.text, "html.parser")    comments = []    for j in soup.findAll('div', attrs={'class': 'Comments__StyledComments-dzzyvm-0 dEfjGB'}):        comments.append(j.text)
查看完整描述

1 回答

?
拉丁的传说

TA贡献1789条经验 获得超8个赞

BeautifulSoup 更像是静态页面的 HTML 解析器,而不是更动态的 Web 应用程序的渲染器。

您可以通过 Selenium 使用无头浏览器实现您想要的效果,方法是渲染整个页面并重复单击“更多”链接,直到没有更多内容可供加载。

由于您已经在使用 Requests,因此另一个可能有效的选项是 Requests-HTML,它也支持通过调用.html.render()响应对象进行动态渲染。


查看完整回答
反对 回复 2024-01-11
  • 1 回答
  • 0 关注
  • 39 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信