[特殊字符] Python + Selenium 打造网页图片抓取器(带可视化选择与 ZIP 打包)

📢 免责声明

本文内容仅供 学习与技术交流 之用,禁止任何形式的非法使用。
使用本文代码或相关技术抓取的内容,如涉及版权或法律问题,责任由使用者本人承担
作者不鼓励、也不支持任何违反法律法规及网站使用条款的行为。

✅ 合规指引

  1. 尊重版权

    • 不要抓取带有版权的图片、视频或数据。
    • 商业网站的图片、新闻、影视资源几乎都受保护,未经授权下载、传播可能违法。
  2. 查看 robots.txt 和用户协议

    • 合法网站通常会通过 robots.txt 或服务条款明确是否允许爬虫访问。
    • 如果明确禁止,就不要去爬。
  3. 设置合理的限制

    • 控制并发线程,避免对目标服务器造成压力。
    • 不要绕过反爬虫策略,否则可能涉及“恶意访问”。
  4. 🟢 合法示例网站(学习推荐)

  • Unsplash - 免费高质量摄影图片
  • Pexels - 免费照片和视频素材
  • Pixabay - 免费插画、矢量图、视频
    • ⚠️ 请注意:即便在这些网站,仍需遵守各自的授权协议。

✨ 功能亮点

  • 支持动态网页:通过 Selenium 控制 Chrome 浏览器,处理懒加载图片。
  • 可视化界面:基于 Tkinter,图片抓取后可预览、选择需要的图片。
  • 批量打包下载:一键保存所选图片,自动压缩为 ZIP 文件。
  • 多线程下载ThreadPoolExecutor 提升抓取速度。

环境准备

  1. Python 版本:推荐使用 Python 3.10+ (本文基于 macOS + Python 3.10 测试)。
  2. 依赖库
pip install pillow requests selenium beautifulsoup4

Chrome 浏览器与驱动

  • 下载对应版本的 ChromeDriver
  • 修改脚本中的路径:
CHROMEDRIVER_PATH = "/你的路径/chromedriver"
CHROME_BINARY_PATH = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"

📦 完整代码

支持启动 Chrome、滚动加载、懒加载修复、图片下载、多选保存。

import os
import time
import requests
from io import BytesIO
from tkinter import Tk, Label, Button, Entry, Canvas, Scrollbar, Frame, filedialog, messagebox, Checkbutton, IntVar, StringVar
from tkinter import ttk
from PIL import Image, ImageTk, UnidentifiedImageError
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from bs4 import BeautifulSoup
from urllib.parse import urljoin
import threading
impo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值