python-3.x - requests-html 和无限滚动
问题描述
我正在检查一个 python 库:requests-html。看起来很有趣,容易和清晰的刮。但是,我不确定如何呈现无限滚动的页面。
从他们的文档中,我了解到我应该呈现一个具有特殊属性(向下滚动)的页面。我正在尝试,但我不知道具体如何。我知道如何使用 selenium 来处理无限滚动,但我想知道 requests-html 是否有可能。
from requests_html import HTML, HTMLSession
page1 = session.get(url1)
page1.html.render( scrolldown=5,sleep=3)
html = HTML(html=page1.text)
noticeName = html.find('h2.noticeName')
for element in noticeName:
print(element.text)
它从 13 中找到 10 个元素。10 是可见的,无需滚动(并且由于无限滚动而加载新内容)。
解决方案
我希望你已经解决了这个问题,但我会为任何其他好奇的人发布这个。
在大多数情况下,如果你想无限滚动,scrolldown需要很大的值,因为它基于 requests_html 在 Chromium 中发送“page down”请求的次数。
根据文档:
scrolldown – 向下翻页次数的整数(如果提供)。
但是,requests_html 使用 pyppeteer 库,该库将页面向下发送为按键。这意味着,如果您所在的页面阻止了向下翻页键,或者只是不使用按键进行无限滚动,您将需要不同的解决方案。
推荐阅读
- palantir-foundry - 在 Foundry Scenario 中,当 Scenario 被 Object 保存和支持时,delete 按钮有什么作用?
- android - 如何在可组合功能中一次只打开一个编辑表单
- angular - SAP Spartacus - 如何在插槽中围绕 2 个自定义组件包装元素?
- javascript - 像按钮影响所有视频的问题
- html - 使用变量更改带有样式组件的 React 项目的 CSS 属性
- python - vs-code python 调试当前文件 SimpleHTTPRequestHandler
- python - 使用 pyQgis 导出 sld
- r - r 将数据帧拆分并导出到 word/powerpoint
- palantir-foundry - 在 Foundry Scenarios 中,是否可以跨多个场景运行函数?
- javascript - 将 JavaScript 字符串格式转换为另一种