📢 免责声明
本文内容仅供 学习与技术交流 之用,禁止任何形式的非法使用。
使用本文代码或相关技术抓取的内容,如涉及版权或法律问题,责任由使用者本人承担。
作者不鼓励、也不支持任何违反法律法规及网站使用条款的行为。
✅ 合规指引
-
尊重版权
- 不要抓取带有版权的图片、视频或数据。
- 商业网站的图片、新闻、影视资源几乎都受保护,未经授权下载、传播可能违法。
-
查看 robots.txt 和用户协议
- 合法网站通常会通过
robots.txt或服务条款明确是否允许爬虫访问。 - 如果明确禁止,就不要去爬。
- 合法网站通常会通过
-
设置合理的限制
- 控制并发线程,避免对目标服务器造成压力。
- 不要绕过反爬虫策略,否则可能涉及“恶意访问”。
-
🟢 合法示例网站(学习推荐)
✨ 功能亮点
- 支持动态网页:通过
Selenium控制 Chrome 浏览器,处理懒加载图片。 - 可视化界面:基于
Tkinter,图片抓取后可预览、选择需要的图片。 - 批量打包下载:一键保存所选图片,自动压缩为 ZIP 文件。
- 多线程下载:
ThreadPoolExecutor提升抓取速度。
环境准备
- Python 版本:推荐使用 Python 3.10+ (本文基于 macOS + Python 3.10 测试)。
- 依赖库:
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

最低0.47元/天 解锁文章
732

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



