前言
分两种情况
- 当前页面没有异步加载的数据,直接下滑到页面底部
- 有异步加载的情况,下滑到某个程度就会触发新的数据,然后当前页面会显示出新出来的数据,此时就又需要下滑才能看到后面出来的新数据
无异步加载
比如我的csdn博客,下滑到底部都没有新的数据刷新
下方图片中的网址

有异步加载
CSND首页的第三个版块,下载版块
下方图片中的网址

上方图片是刚开始的数据展示
当我下滑到一定程度时,数据又新增了,如下方图片
下方图片的下拉框对比上方图片的下拉框
可以看出来下拉框变小了,说明数据变多了

继续下滑,可以发现下拉框越变越小,说明新增的数据越来越多了

这就是异步加载
使用selenium实现下滑操作
以华为市场为例
此网页就属于异步加载的情况
那么我们就需要多次下滑
代码
代码其实很简单
from time import sleep
from selenium import webdriver
driver = webdriver.Chrome()
# 华为市场的url
huawei_url = "https://appgallery1.huawei.com/#/Apps"
driver.get(huawei_url)
sleep(2)
# 一共下滑十次,下滑一次停顿0.5s
for i in range(10):
driver.execute_script('window.scrollTo(0,document.body.scrollHeight)')
sleep(0.5)
补充
对于一般网页而言(即无异步加载的网页),下方代码
# 下滑一次
driver.execute_script('window.scrollTo(0,document.body.scrollHeight)')
是直接下滑到网页的底部
本文介绍如何使用Selenium处理网页异步加载数据,通过自动下滑操作获取全部内容。针对不同类型的网页,提供了具体代码示例,如无异步加载的CSDN博客与异步加载的华为市场网页。

730

被折叠的 条评论
为什么被折叠?



