Skip to content

waitfortea/BtHome

Repository files navigation

BtHome更新日志

  • 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功能

  • BtHome最早是基于bt之家的种子爬虫工具,提供了检索、下载、添加种子的功能,后续重新架构,在一定程度上实现了可以额外添加源的功能,并且添加了动漫之家源。

BtHome的学习

  • 作者写BtHome的目的一方面为了满足自己的需求

  • 另一方面,作者在编写的过程中学习并使用了python并发、日志、爬虫、设计模式、模块导入、自定义模块等等知识点 README.md

  • BtHome的代码仅作为一个以上方面粗浅的参考供有兴趣的使用者学习

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下载有无私贡献的网站运营者

About

Bt之家爬虫 种子下载添加 qbittorrent

Resources

Stars

Watchers

Forks

Packages

No packages published