因为一些不可抗力...所以该项目archive了,在此感谢使用过该脚本的朋友,和提出问题的朋友
请勿用于商业用途 尊重coser的版权 转载图片请注明出处
此脚本实现了cos网站半次元 自定义coser 的 高清无码 图片批量下载,并保存到 自定义路径 下
coser_id
批量下载某个coser发布的作品的所有图片%num%.jpg
/%num%.png
,其中%num%
为从1
开始的 编号COS
类的作品,因为半次元改版后没有对COS
和绘画
之类的做分类,都在同一url
下我的测试环境:
先clone代码
git clone https://github.com/tankeryang/banciyuana-downloader.git
直接运行run.py
先执行:
python run.py
后续步骤参考Usage
自定义实现
因为进行了 封装,所以可以自行实例化一个Downloader
对象来调用方法实现功能,下面给出简单例子:
分部执行
from bcy_downloader import Downloader
# 实例化Downloader对象
# coser_id: 770554
# 下载目录: E:\banciyuan (注意: windows下需按照windows特有的 <反斜杠 \> 来分隔路径,如 E:\xxx\pictures\banciyuan)
dl = Downloader(coser_id='770554', bcy_home_dir='E:\\banciyuan')
# 获取作品url列表
dl.get_post_url_list()
# 或者自定义下载作品列表
dl.post_url_list = ["https://bcy.net/item/detail/6558754255610577155", "https://bcy.net/item/detail/6554677621064466692"]
# 查看作品url列表
print(dl.post_url_list)
# 获取每个作品下所有图片url,得到download_data
dl.get_pics_url_list()
# 查看download_data
# 格式如下
# {
# '$(post_url)':
# {
# 'post_name': $(post_name),
# 'pics_url_list': $(pics_url_list)
# }
# }
# 例子:
# {
# "https://bcy.net/item/detail/6558754255610577155":
# {
# 'post_name': "碧蓝航线-COS-舰娘-场照-返图-cp22-三笠",
# 'pics_url_list': [
# 'https://img5.bcyimg.com/user/770554/item/c0je3/63y6vuq8hhgfmge7nrqcaqkpspyfszj5.jpg?1',
# 'https://img9.bcyimg.com/user/770554/item/c0je3/esdrtvchzzkfzm74ezd8idx04ennjjfr.jpg?2',
# ......
# 'https://img9.bcyimg.com/user/770554/item/c0je3/zfiyptpdcpasyz0itzh7ndtmpiysw8uy.jpg?9'
# ]
# }
# }
print(dl.download_data)
# 根据download_data获取图片
dl.get_pics()
一键执行
from bcy_downloader import Downloader
# 实例化Downloader对象
# coser_id: 770554
# 下载目录: E:\banciyuan (注意: windows下需按照windows特有的 <反斜杠 \> 来分隔路径,如 E:\xxx\pictures\banciyuan)
dl = Downloader(coser_id='770554', bcy_home_dir='E:\\banciyuan')
# 自动下载
dl.run()
下载时会在 每个作品对应的文件夹 里建一个url.local
文件,里面写入的是该作品对应的url
。该文件主要用于 判断本地是否已经下载过该url
对应的作品,以实现智能无重复下载,请不要随意删除
同时因为取消了登录的功能,所以 只有粉丝可见的作品 会跳过不进行下载,但是也会在本地建一个 __xxx_粉丝可见__ 的文件夹,xxx
为作品url
后面的数字,文件夹下面一样会新建url.local
文件,里面保存的是该作品对应的url
Release 版本的exe
可执行文件可直接运行
以下载coser犬神洛洛子发布的所有作品的cos图为例
图1:coser主页
图2:coser发布的作品页
获取coser id
: 770554
(上图1箭头所指)
运行run.py
脚本: python run.py
Enter banciyuan coser id:
: 输入coser id770554
Enter banciyuan home path (i.e. E:\banciyuan):
: 输入半次元图片保存主目录(如E:\banciyuan
)
downloading...
:等待下载完成
图片会 按发布的作品分类 保存在如下路径:{banciyuan_home_path}/{coser_name}/{post_name}/
其中:
{banciyuan_home_path}
为图片保存的主目录名
{coser_name}
为coser名
{post_name}
为coser发布的作品名
如下图:
有何疑问可发布 issue ,本人会尽量及时查看