← 返回教程目录
第 10 章 · 第 3 节 图片采集

4K 优先 + 滚动翻页:更精致的抓取

4K-First & Infinite Scroll: Polished Crawling

老板经常提图要高清。普通采集可能下到 800x600 的缩略图,这一节我们让脚本优先选 4K 大图。

1. 解析图片多种尺寸

import re


from urllib.parse import urlparse





def upgrade_to_original(url):


    if '?' in url:


        base, query = url.split('?', 1)


        upgraded = re.sub(r'w=\d+', 'w=4000', query)


        return f'{base}?{upgraded}'


    return url
网站原图 URL 规律:每个站都有自己的图床规则,抓几次样本就能总结出来。最稳的方案是看浏览器 DevTools 的 Network 标签 — 原图请求的 URL 一定比缩略图更长/参数更复杂。

2. 滚动翻页 + 懒加载触发

from selenium import webdriver


import time





def scrape_infinite_scroll(url, target_count=100):


    driver = create_stealth_driver()


    driver.get(url)





    collected = []


    last_count = 0


    scroll_attempt = 0





    while len(collected) < target_count and scroll_attempt < 50:


        driver.execute_script('window.scrollTo(0, document.body.scrollHeight);')


        time.sleep(2)





        imgs = driver.find_elements('css selector', 'img[data-src], img[src]')


        for img in imgs:


            src = img.get_attribute('data-src') or img.get_attribute('src')


            if src and src not in collected:


                collected.append(upgrade_to_original(src))





        if len(collected) == last_count:


            scroll_attempt += 1


        else:


            scroll_attempt = 0


            last_count = len(collected)


            print(f'已收集 {len(collected)} 张')





    driver.quit()


    return collected[:target_count]

3. 完整工程化

image_urls = scrape_infinite_scroll(


    'https://example.com/gallery?keyword=小米',


    target_count=500


)





tasks = [(url, Path(f'downloads/{i:04d}.jpg')) for i, url in enumerate(image_urls)]


with ThreadPoolExecutor(max_workers=20) as executor:


    list(executor.map(lambda t: download_with_retry(*t), tasks))





print(f'共下载 {len(image_urls)} 张 4K 图')

这套流水线能搞定 90% 图片采集需求。我们的图片爬虫软件把这套封装成 GUI — 输关键词、点开始,剩下的全自动。

想跳过写代码,直接批量下高清图?

配套软件内置多线程 + 4K 优先 + 关键词分类 + 滚动翻页,导入关键词即下,5000 张 1 键入库

想跳过写代码,直接批量下高清图?

配套软件内置多线程下载 + 关键词分类 + 4K 优先,导入关键词即下

查看淘宝软件 →