我正在检查python库:requests-html。看起来很有趣,容易且清晰。但是,我不确定如何通过无限滚动呈现页面。
从他们的文档中,我了解到我应该呈现一个具有特殊属性的页面(向下滚动)。我正在尝试,但我不知道具体如何。我知道如何使用硒来处理无限滚动,但是我想知道request-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个元素在不滚动的情况下可见(并且由于无限滚动而加载新内容)。
答案 0 :(得分:0)
scrolldown = 5表示向下滚动5像素,您的显示器很小吗?或vm高度那么小?现在给它一个更大的值,例如有睡眠的屏幕高度或 2000或5000,没有睡眠
它不会为您提供唯一的下一个元素,而是从一开始就为您提供所有元素。
我将很快添加一些示例代码。
答案 1 :(得分:0)
我希望你已经解决了这个问题,但我会为任何其他好奇的人发布这个。
在大多数情况下,如果您想无限滚动,scrolldown 需要是一个大值,因为它是基于 requests_html 在 Chromium 中发送“向下翻页”请求的次数。< /p>
根据文档:
<块引用>scrolldown – 向下翻页次数的整数(如果提供)。
但是,requests_html 使用 pyppeteer 库,该库将页面作为按键向下发送。这意味着,如果您所在的页面会阻止向下翻页键或者只是不使用按键无限滚动,您将需要不同的解决方案。