You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python+Selenium如何获取无限滚动网站的全部图片alt属性及链接?

无限滚动相册全量图片加载方案
  • 实现逻辑
    针对无分页、滚动触发懒加载的页面,通过反复模拟滚动到底部、判断页面高度是否变化,即可确认所有内容是否加载完成:
  1. 页面首屏加载完成后,先记录初始页面总高度
  2. 模拟滚动到页面底部,等待资源加载完成
  3. 对比滚动后的页面高度和上一次记录的高度,若高度一致则说明无新内容加载,终止滚动;若高度变化则更新高度记录,重复滚动操作
  • 代码实现(Python + Selenium 示例)
from selenium import webdriver
import time

# 初始化浏览器驱动
driver = webdriver.Chrome()
driver.get("https://ibb.co/album/D5f4bg")
# 等待首屏加载完成
time.sleep(3)

# 记录初始页面高度
last_height = driver.execute_script("return document.body.scrollHeight")

while True:
    # 滚动到页面底部
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
    # 等待图片加载,可根据网络情况调整时长
    time.sleep(2)
    # 计算新的页面高度
    new_height = driver.execute_script("return document.body.scrollHeight")
    # 高度无变化说明所有内容加载完成
    if new_height == last_height:
        # 额外加一次校验避免网络波动导致误判
        time.sleep(2)
        confirm_height = driver.execute_script("return document.body.scrollHeight")
        if confirm_height == last_height:
            break
    last_height = new_height

# 此处可执行你现有的图片属性提取逻辑
  • 注意事项
    • 等待时长可根据自身网络环境调整,避免加载未完成就判断高度导致提前终止循环
    • 若站点有反爬机制,可在滚动步骤中加入随机等待时长、模拟鼠标移动等操作降低被拦截概率

内容的提问来源于stack exchange,提问作者user3577419

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 00:06:03