绅♂士♂站♂小♂爬♂虫
快速入门
或者可以运行源码
pip install -U requests[socks]
git clone https://github.com/fffonion/xeHentai.git
cd xeHentai
python ./setup.py install
xeH
新版本默认为命令行模式,如果需要使用交互模式,请运行xeH.py -i
详细说明
配置文件
使用源码运行的用户请先将xeHentai/config.py
复制到当前目录。
配置的优先级为 交互模式 > 命令行参数 > 用户config.py > 内置config.py。
参数说明:
- dir 下载目录,默认为当前目录
- download_ori 是否下载原图,默认为否
- download_thread_cnt 下载线程数,默认为5
- scan_thread_cnt 扫描线程数,默认为1
-
proxy 代理列表,形如
["socks://127.0.0.1:1080", "http://127.0.0.1:8080"]
- proxy_image 是否使用代理下载图片,如果设为否则只将代理用于扫描网页,默认为是
-
log_path 日志路径,默认为
eh.log
- log_verbose 日志等级,可选1-3,值越大输出越详细,默认为2
- rename_ori 将图片重命名为原始名称,如果关闭则使用序号,默认为否
- daemon 后台模式,默认为否
-
rpc_interface RPC绑定的IP,默认为
localhost
-
rpc_port RPC绑定的端口,默认为
None
-
rpc_secret RPC密钥,默认为
None
-
save_tasks 是否保存任务到
h.json
,默认为否 - make_archive 是否下载完成后生成zip压缩包,并删除下载目录,默认为否
命令行模式
用法: xeH [-u USERNAME] [-k KEY] [-c COOKIE] [-i] [-o] [-t N] [-d DIR]
[--daemon] [-l /path/to/eh.log] [-p PROXY] [--proxy-image] [-v]
[--rpc-interface ADDR] [--rpc-port PORT] [--rpc-secret ...]
[-r BOOL] [-a BOOL] [-j BOOL] [--download-range a-b,c-d,e] [-h]
[--version]
[url [url ...]]
绅♂士下载器
必选参数:
url 下载页的网址
可选参数:
-h, --help 显示帮助
-u USERNAME, --username USERNAME
用户名
-k KEY, --key KEY 密码
-c COOKIE, --cookie COOKIE
Cookie字符串,如果指定了用户名和密码,此项会被忽略
-i, --interactive 交互模式,如果开启后台模式,此项会被忽略 (默认: False)
-o, --download-ori 是否下载原始图片(如果存在),需要登录 (默认: False)
-t N, --thread N 下载线程数 (默认: 5)
-d DIR, --dir DIR 设置下载目录 (默认: 当前目录)
--daemon 后台模式 (默认: False)
-l /path/to/eh.log, --logpath /path/to/eh.log
保存日志的路径 (默认: /eh.log)
-p PROXY, --proxy PROXY
设置代理, 可以指定多次, 当前支持的类型: socks5/4a, http(s), glype (默认: 无)
--proxy-image 同时使用代理来下载图片,,如果设为否则只将代理用于扫描网页 (默认: True)
-v, --verbose 设置日志装逼等级 (默认: 2)
--rpc-port PORT 设置JSON-RPC监听IP (默认: None)
--rpc-interface ADDR 设置JSON-RPC监听端口 (默认: localhost)
--rpc-secret ... 设置JSON-RPC密钥 (默认: None)
-r BOOL, --rename-ori BOOL
将图片重命名为原始名称,如果关闭则使用序号 (默认: True)
-a BOOL, --archive BOOL
下载完成后生成zip压缩包并删除下载目录 (默认: False)
-j BOOL, --jpn-title BOOL
使用日语标题, 如果关闭则使用英文或罗马字标题 (默认: True)
--download-range a-b,c-d,e
设置需要下载的图片范围, 格式为 开始位置-结束位置, 或者单张图片的位置,
可以使用逗号来分隔多个范围, 例如 5-10,15,20-25
-h, --help 显示本帮助信息
--version 显示版本信息
如果参数未指定,则使用config.py中的默认值;否则将覆盖config.py设置的值。
JSON-RPC
在指定rpc_interface
和rpc_port
后,xeHentai会启动RPC服务器。典型的请求如下:
$ curl localhost:8010/jsonrpc -d '{"jsonrpc": "2.0", "id": 1, "method":"xeH.addTask", "params":[[args],{kwargs}]}'
{"jsonrpc": "2.0", "id": 1, "result": "36df423e"}
如果rpc_secret
设置为hentai,则需在params中带上这个值:
$ curl localhost:8010/jsonrpc -d '{"jsonrpc": "2.0", "id": 1, "method":"xeH.addTask", "params":["token:hentai",[args],{kwargs}]}'
{"jsonrpc": "2.0", "id": 1, "result": "36df423e"}
其中method
为调用的方法,必须以xeH. 开头。在core.py
的xeHentai类中,所有不以下划线_
开头的方法均可以通过RPC调用,但需将方法名的下划线命名法改为驼峰命名法。如add_task
需改为addTask
。
参数列表请参阅xeHentai类。
如果浏览器安装了用户脚本插件,可以下载xeHentaiHelper.user.js,将会在页面上添加Add to xeHentai
链接,以支持将当前页面添加到xeHentai中。Chrome用户需要安装Tampermonkey,
Firefox用户需要安装Greasemonkey,Opera和傲游用户需要安装暴力猴。
由于里站启用了https,而rpc走的是http,所以chrome用户需要点击地址栏右侧盾牌,选择“加载不安全的脚本”
运行模式
如果通过命令行或交互模式指定了下载url,xeHentai会在下载完成h.json
中存储的任务(如果存在)及指定的url后退出。
如果命令行没有指定url,xeHentai将会在完成存档h.json
中的队列(如果存在)后继续等待。
如果指定了后台模式(-d
或设置daemon
为True
),xeHentai将会在保持后台运行。
代理
目前支持三种模式的代理:
- socks代理,如
socks5://127.0.0.1:1080
。 - http(s)代理,如
http://127.0.0.1:8080
。 - glype代理,如
http://example.com/browse.php?u=a&b=4
。请根据实际情况修改b
的名称。glype是目前使用最广的php在线代理,使用时请取消勾选“加密url(Encrypt URL)”、勾选“允许cookies (Allow Cookies)”后随意打开一个网页,然后把网址粘贴进来
可以指定多个代理,格式如['socks5://127.0.0.1:1080', 'http://127.0.0.1:8080']
。
默认情况下代理仅会被用于扫描网页,如果需要使用代理下载图片,请在配置文件中设置proxy_image
为True,或者在运行时加上--proxy-image
参数。
如果使用代理仅用于突破封锁的目的,则此项可以设置为False
;如果需要保证隐私,请将此项设置为True
。使用glype代理的用户建议将此项设为False
。
下载范围
下载范围仅可通过命令行模式或者交互模式设置。格式为使用开始位置-结束位置
,例如5-10
表示下载第5到第10张图片,包括第5和第10张;或者单个位置,例如15
表示下载第15张图片。
可以通过逗号来分割多个范围,例如5-10,15
表示下载第5到第10张图片以及第15张图片。
如果不输入下载范围,则默认下载所有图片。
其他说明
配额
直接从服务器及镜像途径下载的图片计入配额,从H@H下载的不计算;下载新发布的、冷门的漫画以及原图更有可能消耗配额,下载热门漫画基本不消耗配额
License
GPLv3