Skip to content

轻小说网站爬虫生成epub工具 目前已适配真白萌、esj zone、轻国、百合会

Notifications You must be signed in to change notification settings

ilusrdbb/lightnovel-pydownloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lightnovel-pydownloader

轻小说网站爬虫工具,内置sqlite保存数据,最终生成epub,支持推送到calibre-web服务
目前已适配真白萌、esj zone、轻国、百合会
本项目基于pycharm开发,开发环境为python 3.9

使用说明

Windows

解压release最新版本的压缩包,修改config.yaml配置文件,双击lightnovel.exe运行
或使用Pyinstaller从源代码中打包,环境准备见下方Linux说明

Pyinstaller lightnovel_exe.spec

Linux

Linux下暂时需要从源代码运行
安装python3环境,建议3.9及以上
安装requirements.txt下依赖

pip install -r requirements.txt

下载源代码

git clone https://github.com/ilusrdbb/lightnovel-pydownloader.git

修改config.yaml配置文件,运行

python3 lightnovel.py &

支持站点说明

站点 配置名称 特殊情况说明
esj esj 外链(X)、密码章节(X)
轻之国度 lk 轻币购买(√)、勇者权限(X)、app权限(√)
真白萌 masiro cf盾(√)、cookie登录(√)、等级权限(X)、金币购买(√)
百合会 yuri 账号密码登录(X)、cookie登录(√)、等级权限(X)

配置说明

配置文件位于程序目录下的config.yaml,运行程序请根据自身需要修改配置

配置项 说明
site 配置需要爬取的站点,默认值esj,masiro 真白萌、esj esj、lk 轻国、yuri 百合会,输入all为爬取全部支持的站点(站点登录账号密码未配置时会跳过)
white_list 白名单,数组,esj真白萌百合会填入书籍的地址,轻国填入合集的id(数字不是字符串),不支持轻国单本id
black_list 黑名单,数组,esj真白萌百合会填入书籍的地址,轻国填入单本或合集的id(数字不是字符串)
max_thread 最大线程数,默认值1,不建议设置过大,程序限制esj最大值8、轻国百合会最大值4、真白萌最大值1
login_info 登录账号密码或cookie,必填,目前支持的站点都必须登录才可爬取,百合会填写cookie(建议在chrome无痕窗口中抓取),真白萌支持两种登录方式账号密码优先
flaresolverr_url flaresolverr服务地址,用于绕过真白萌cf盾,例:http://127.0.0.1:8191/v1,目前只有此镜像可以完美绕过alexfozor/flaresolverr:pr-1300-experimental
get_collection 是否爬取收藏页,默认值false,如选否则爬取网站日轻列表
start_page 爬取范围(包含),收藏或列表开始页数,默认值1
end_page 爬取范围(包含),收藏或列表结束页数,默认值1
proxy_url 代理地址,仅支持http代理,例:http://127.0.0.1:1081,esj只能使用非日韩的代理,真白萌代理只对下载图片生效
is_purchase 是否使用轻币或真白萌金币购买付费章节,默认值false
max_purchase 消费上限,超过此值的章节不购买,默认值20
time_out 请求超时时间(秒),默认值15
sleep_time 每次网络请求睡眠时间(秒),默认值1,设置为0时不限制,例:设置2为随机睡0~2秒,注意真白萌此配置项无效程序会强制睡10秒防止频繁请求报错
least_words html字节数小于此值且不存在图片的章节不生成epub,默认值0,设置为0时不限制
convert_hans 生成epub是否将标题和内容的繁体转为简体,默认值true
convert_txt 生成epub后转换为txt,默认值false
scheduler_config 配置每天定时执行爬虫任务,注意如果爬真白萌很可能一天爬不完,此时不建议开启定时执行
push_calibre 配置docker版calibre-web推送,此项开启时程序将强制单线程执行,注意此功能仅支持在linux环境且docker与本程序在同一台机器中执行
epub_dir epub保存目录,默认值./epub,不建议更改
image_dir 图片保存目录,默认值./images,不建议更改
txt_dir txt保存目录,默认值./txt,不建议更改
download_fail_again 是否统一下载之前爬取失败的图片(优先级1),默认值false,定时开启时此项无效,此项开启时正常爬虫任务会停止
delete_pic_table 是否清空数据库中的图片信息(优先级2),默认值false,此配置只应该在误删图片保存目录的时候开启,定时开启时此项无效,此项开启时正常爬虫任务会停止
purchase_again 是否统一支付之前未支付的章节(优先级3),默认值false,定时开启时此项无效,此项开启时正常爬虫任务会停止
export_epub_again 是否导出数据库数据到epub(优先级4),默认值false,定时开启时此项无效,此项开启时正常爬虫任务会停止
url_config 网站地址配置,请勿更改
xpath_config xpath配置,请勿更改

文件结构说明

如果使用默认配置,程序运行后会在程序目录下生成一系列的文件,正常情况不要删除这些文件

文件或文件夹名称 说明
logs 日志文件夹,可以删除
images 下载插图的文件夹,删除会导致epub无插图,勿删
epub epub保存目录
txt txt保存目录,配置项convert_txt开启时才会出现
lightnovel.db 数据库文件,删除会导致爬取数据丢失,勿删
config.yaml 配置文件,勿删

须知

由于本人未系统的学习过python,基本都是照猫画虎抄来的代码,代码非常的屎请见谅
本项目未经过大量测试,如发现bug欢迎提issue,至于需求有空再说
本项目仅供个人学习交流,爬取数据不得对外传播,不得用于商业用途

About

轻小说网站爬虫生成epub工具 目前已适配真白萌、esj zone、轻国、百合会

Resources

Stars

Watchers

Forks

Packages

No packages published