我不知道正确的用词,但我认为“动态网站”可以解决问题。
意思是说,当我滚动时,正在加载资源。
我搜索了解决方案,遇到了网络驱动程序,就我个人而言,我不希望加载整个浏览器,只是为了向下滚动。
另一种方法是查看“网络”选项卡并刮擦我在那找到的网址。
https://www.immowelt.de/liste/hamburg/wohnungen/mieten?prima=700&sort=relevanz&cp=1
但是,当我滚动内容时,内容真正被加载了。
打开“网络”标签并向下滚动时显示的链接:https://www.immowelt.de/liste/getlistitems
我是Web开发的新手,所以我不知道如何在网络标签中看到的这些链接可以被命名为完全相同,但具有不同的值。
答案 0 :(得分:1)
如果您更仔细地查看网络数据包。您将看到这是一个POST
请求,并将form data
发送到该链接。仔细查看表单数据:
query: geoid=108020&etype=1&esr=2&prima=700&sort=relevanz&cp=1
offset: 12
pageSize: 4
您看到它发送了一个offset
。那就是分页下一个结果的原因。
答案 1 :(得分:0)
只需查找一个有趣的问题(包含答案)即可解决类似问题:
How can I scroll a web page using selenium webdriver in python?
答案指向代码:
driver.execute_script("window.scrollTo(0, Y)")
链接的“问答”中还有无限滚动选项
您可能想通过设置“滚动”脚本并在滚动完成后打印输出来建立要刮擦多少条目的参数。
希望这会有所帮助,加油!