- 2024.7.7 发现原有的bthome网站被宣布网站崩溃,搬迁到
https://www.1lou.info/,好在上次更新实现了快速添加源的架构,因此添加新的爬虫规则并不困难,难度在于新的网站采用了cloudflare5秒盾的保护。尝试了诸多方案之后,采取了drissionpage库模拟浏览器过cloudflare - 在尝试更新的过程中,发现了之前代码的一些bug,解决过程中顺便温故而知新,颇有所得
- 2025.2.7 1.最近原先使用的异步请求库aiohttp无法访问bthome的网页,被cloudflare拦截,更新为httpx库,目前恢复了下载和添加种子的功能,订阅更新还没有测试2.bthome放弃使用cloudflare进行人机识别,因此cf_chech默认不开启
- 2025.2.15 bthome使用cloudflare进行了爬虫的拦截,效果显著,之前使用的所有请求库都不能使用,只好采用浏览器自动化的库进行调整,现恢复下载功能
- 2025.4.23 重构了底层的代码,精简了一些,后面可以有更多的扩展空间,改善了日志的打印,恢复了订阅和更新的功能,只不过需要绑定sql使用。目前仅支持bthome源
- BtHome最早是基于bt之家的种子爬虫工具,提供了检索、下载、添加种子的功能,后续重新架构,在一定程度上实现了可以额外添加源的功能,并且添加了动漫之家源。
-
作者写BtHome的目的一方面为了满足自己的需求
-
另一方面,作者在编写的过程中学习并使用了python并发、日志、爬虫、设计模式、模块导入、自定义模块等等知识点 README.md
-
BtHome的代码仅作为一个以上方面粗浅的参考供有兴趣的使用者学习
- bthome.exe log config resource 一定要放在BtHome文件夹下,并确保整个路径上只有一个BtHome文件
-
鉴于部分网站需要翻墙才能够访问,因此提供了开关代理的单选框,这里的开启代理是配置python的环境使其能够连接本地的代理,而不是在本地开启代理
-
正常的代理都需要python环境和本地环境同时配置才能正常使用
-
搜索关键词
-
爬虫的层级分为种子页、字幕组、以及种子组
-
点击开始,会根据关键词搜索种子页
-
点击种子页会解析对应的字幕组
-
点击字幕组会判断解析种子
-
点击start会根据选项开始对种子文件的爬虫和处理
-
这里内置了三个选项,分别用checkBox表示是否开启,分别是下载、添加、订阅
-
下载是指下载种子到本地
-
添加是指下载完成之后直接添加种子到qbittorrent,目前只支持qbittorent下载器,其他下载器可以自行添加api支持
-
订阅会将本次下载的种子相关的信息加入sql数据库中进行保存,为后面更新做准备
-
这里提供了关键词筛选的功能,逻辑是要求种子名称需要包含筛选关键词的全部内容
-
筛选关键词会按空格分开来逐一判断是否存在
-
download_dir对应一级目录
-
sub_download_dir对应二级目录
-
这里的保存位置是二级路径,添加在一级路径下共同组成完整的保存路径
-
seasonal_mode给二级目录添加一个时间前缀,添加内容是当前最近的番季
-
保存路径不存在的,会直接创建
-
配置文件在config/config.yaml路径下,根据yaml路径编写
-
qbittorent: 对应连接qbittorrent客户端的一些参数
-
download_dir: 一次保存路径
-
subdownload_dir: 默认二级保存路径
-
mysql 连接sql数据库需要的参数
-
source对应源的一些参数
- 日志文件在log文件下,infolog对应运行过程中打印的消息
-
请不要滥用本工具进而影响bt网站的正常运行,这无论对网站本身还是动漫爱好者都是巨大的损失
-
请大家适度使用本工具,仅爬虫下载自己需要看的动漫
-
网站运营者如果有任何意见,可在本项目issue处留言
- 真挚感谢那些为bt下载有无私贡献的网站运营者