Menu

Tree [89dab8] master /
 History

HTTPS access


File Date Author Commit
 scraper 2020-07-22 Allen Shaw Allen Shaw [89dab8] 🎨 improve structure and format
 screenshots 2020-07-21 Allen Shaw Allen Shaw [bca1b5] 📝 update README.md
 tests 2020-07-22 Allen Shaw Allen Shaw [89dab8] 🎨 improve structure and format
 .gitignore 2019-09-08 lonsty lonsty [8f3f90] 1. redownload from failed; 2. test for better
 LICENSE 2019-09-07 Allen Shaw Allen Shaw [00ba90] Initial commit
 Pipfile 2020-07-22 Allen Shaw Allen Shaw [89dab8] 🎨 improve structure and format
 Pipfile.lock 2020-07-22 Allen Shaw Allen Shaw [89dab8] 🎨 improve structure and format
 README.md 2020-07-22 Allen Shaw Allen Shaw [89dab8] 🎨 improve structure and format
 _config.yml 2019-10-31 Allen Shaw Allen Shaw [02908c] Set theme jekyll-theme-minimal
 crawler.py 2020-07-22 Allen Shaw Allen Shaw [c07279] 🎨 improve code structure
 requirements.txt 2020-07-22 Allen Shaw Allen Shaw [89dab8] 🎨 improve structure and format

Read Me

scraper

极速爬取下载站酷(https://www.zcool.com.cn/设计师/用户 上传的全部 图片/照片/插画

🎉 🎉 🎉 此下载工具已发布到 PyPI

PS: scraper 本来是规划用来存放各式各样的爬虫程序的。站酷仅仅是当初构想中的一个,因为太懒而没有新增其他爬虫。
想不到 zcool.py 竟然从原来的几十行代码,逐步增加到现在的 500+ 行 😂 😂 😂。

特点:

  • 极速下载:多线程异步下载,可以根据需要设置线程数
  • 异常重试:只要重试次数足够多,就没有下载不下来的图片 (^o^)/!
  • 增量下载:设计师/用户有新的上传,再跑一遍程序就行了 O(∩_∩)O 嗯!
  • 自选主题:可以选择下载用户的特定主题,而不是该用户下的所有内容
  • 超清原图:默认下载超清原图(约几 MB),使用参数 --thumbnail 下载缩略图(宽最大 1280px,约 500KB)

环境:

  • python3.6 及以上

快速使用

1. 克隆项目到本地

$ git clone https://github.com/lonsty/scraper.git

2. 安装依赖包

$ cd scraper
$ pip install -r requirements.txt

3. 快速使用

下载用户名为 username 的所有图片到路径 path 下:

$ python crawler.py -u <username> -d <path>

运行截图

screenshot_04.png

screenshot_01.png

爬取结果

screenshot_02.png

使用帮助

常用命令

  1. 只下载用户的部分主题
$ python crawler.py -u <username> -t <topic1>,<topic2>,...
  1. 一次性下载多个用户的所有图片
$ python crawler.py -u <username1>,<username2>,...
  1. 部分图片下载失败或有更新,再执行相同的命令,对失败或新增的图片进行下载
$ python crawler.py -u <username> -d <last-saved-path>

查看所有命令

$ python crawler.py --help

Usage: crawler.py [OPTIONS]

  ZCool picture crawler. Download ZCool (https://www.zcool.com.cn/)
  Designer's or User's pictures, photos and illustrations.

Options:
  -u, --usernames TEXT    One or more user names, separated by commas.
  -i, --ids TEXT          One or more user ids, separated by commas.
  -t, --topics TEXT       Specific topics of this user to download, separated
                          by commas.
  -d, --destination TEXT  Destination to save images.
  -R, --retries INTEGER   Repeat download for failed images.  [default: 3]
  -r, --redownload TEXT   Redownload images from failed records.
  -o, --overwrite         Override existing files.
  --thumbnail             Download thumbnails with a maximum width of 1280px.
  --max-pages INTEGER     Maximum pages to download.
  --max-topics INTEGER    Maximum topics per page to download.
  --max-workers INTEGER   Maximum thread workers.  [default: 20]
  --help                  Show this message and exit.

更新历史

  • Version 0.1.3 (2020.07.22)

    • 修复了在动态加载页面中无法获取并下载所有图片的问题
    • 保存的图片文件名中加入了序号,以保持原始顺序
    • 添加了注释,并对代码细节做了调整
  • 2020.03.25

    • 优化了终端输出信息,用不同颜色文字进行了标识
    • 修复了在低网速下无法下载图片的问题,并加快了整体下载速度
  • Version 0.1.2 (2020.03.24)

    新功能:

    • 新增下载超清原图(默认选项,约几 MB),使用参数 --thumbnail 下载缩略图(宽最大 1280px,约 500KB)
    • 新增支持下载 JPG、PNG、GIF、BMP 格式的图片
  • Version 0.1.1 (2019.12.09)

    新功能:

    • 可以选择下载用户的特定主题
    • 支持一次性输入多个用户名或 ID

    BUG 修复:

    • 修复用户如果没有上传任何图片时的下载错误
  • Version 0.1.0 (2019.09.09)

    主要功能:

    • 极速下载:多线程异步下载,可以根据需要设置线程数
    • 异常重试:只要重试次数足够多,就没有下载不下来的图片 (^o^)/
    • 增量下载:设计师/用户有新的上传,再跑一遍程序就行了 O(∩_∩)O 嗯!
    • 支持代理:可以配置使用代理(0.1.3 版本后改为自动读取系统代理)

LICENSE

此项目使用 MIT 开源协议

注意:使用此工具下载的所有作品,版权归原作者所有,请谨慎使用!