尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

qBittorrent搜索插件完全指南:从单一下载器到多站点聚合搜索的进化之路

qBittorrent搜索插件完全指南:从单一下载器到多站点聚合搜索的进化之路 qBittorrent搜索插件完全指南从单一下载器到多站点聚合搜索的进化之路【免费下载链接】search-pluginsSearch plugins for qBittorrent search feature项目地址: https://gitcode.com/gh_mirrors/se/search-plugins写作要点核心关键词——qBittorrent搜索插件长尾关键词——qBittorrent搜索插件安装教程、Jackett qBittorrent集成配置、qBittorrent搜索引擎启用方法、Torznab API索引器添加、qBittorrent搜索插件开发入门。一个困扰下载党很久的问题你有没有过这样的经历想找一部冷门资源先开浏览器、再输入网址、搜索、筛选、复制磁力链接最后切回下载器粘贴。如果第一个站没有这套动作还要再来一遍。更让人崩溃的是很多站点今天能用、明天就可能因为被屏蔽或改版而失联。qBittorrent搜索插件search-plugins要解决的正是这个从在网站之间疲于奔命到在一个窗口里完成所有搜索的转变。它让qBittorrent不再只是一个下载工具而是变成一台聚合式的资源搜索引擎你输入一次关键词它可以同时向多个种子站点发出查询把结果汇总到同一个界面里按种子数、大小、发布时间排序点一下就能直接开始下载。这篇文章不打算给你一份复制粘贴式的操作清单而是想先讲清楚这套机制到底是怎么运转的再带你分别走一遍社区插件安装和Jackett集成两条主流路线最后聊聊如何自己动手扩展。理解了原理遇到任何坑你都能自己判断问题出在哪里。一、先搞清楚qBittorrent搜索插件到底是什么从一段神秘的管道输出说起qBittorrent的搜索功能本质上是一个Python脚本调度器。它负责调用安装在特定目录下的插件文件一个.py文件就是一个插件插件去目标网站抓取结果然后把结果打印到标准输出上qBittorrent再去解析这段输出。这段输出的格式极其简单只有一行link|name|size|seeds|leech|engine_url|desc_link|pub_date每找到一个资源插件就按这个格式输出一行用|分隔下载链接、名称、大小、做种数、下载数、站点地址、详情页和发布时间。这个设计非常朴素但也正因为朴素它异常稳定——不需要复杂的API约定只要插件能把结果按格式吐出来qBittorrent就能识别。两个看不见的帮手为了让写插件的人少做重复劳动项目提供了两个基础模块helpers.py提供retrieve_url()抓取网页内容和download_file()下载种子文件等函数novaprinter.py提供prettyPrinter()帮你把字典格式的结果自动转换成上面那种管道分隔的行。换句话说一个插件作者真正要做的只有三件事拼出搜索URL、解析返回的HTML或JSON、调用prettyPrinter()把结果交给qBittorrent。你可以在 nova3/engines/ 目录里看到所有官方插件的源码eztv.py就是最典型的例子。二、两条技术路线你该选哪条理解qBittorrent搜索插件生态最关键的认知是它经历了两次世代更迭现在存在两套并行的方案。路线一Python插件——轻量、直接、无需额外服务这是最传统的方式。把插件文件放进qBittorrent的nova3/engines目录或者在搜索插件窗口里通过安装一个新的按钮导入插件即刻生效。优点是零依赖、极轻量缺点是每个插件都绑定一个具体网站网站改版了插件就可能失效需要等维护者更新。路线二Torznab中间层——一个插件连接数百站点从qBittorrent 4.5.0开始官方引入了基于Torznab协议的新搜索引擎。Torznab是一个把站点搜索结果统一转成XML/RSS格式的API规范而Jackett、Prowlarr这类软件就是协议的翻译官它们负责对接几百个种子站点把抓取结果转成标准格式再由qBittorrent消费。这种架构下qBittorrent侧只需要配置一个Jackett插件就能间接搜索数百个站点。站点改版、域名更换这些脏活累活全部由Jackett的社区维护者承担。官方文档 wiki/New-Torznab-search-engine.md 对此有详细说明推荐方案正是Jackett。一句话总结追求省事、只搜几个常用站点用Python插件追求覆盖面广、希望一站搜遍全网用Jackett。三、实操路线一安装社区Python插件先说明一个必要的前提搜索插件本质上是第三方Python代码运行在你的电脑上所以安装前花两分钟通读一下源码是值得的习惯。官方wiki在 wiki/Install-search-plugins.md 里也明确给出了安全提醒。具体流程如下打开qBittorrent在查看菜单里勾选搜索引擎主界面会出现一个搜索标签页。这个功能默认是关闭的这一步是整个流程的起点。切到搜索标签页点击右下角的搜索插件…按钮在弹出的窗口里选择安装一个新的。你可以选择本地文件来导入之前下载好的.py文件也可以选择网页链接直接粘贴插件文件的URL。安装成功后会看到明确提示插件随即出现在已安装列表里。安装完成后回到搜索框输入关键词勾选要使用的插件就能看到来自多个站点的聚合结果了。需要注意qBittorrent的Python插件机制要求Python 3环境项目自2020年起已明确停止支持Python 2如果你的搜索一直无响应先检查Python环境版本。四、实操路线二Jackett集成把搜索范围放大到几百个站点第一步准备Jackett服务Jackett是一个独立的代理服务安装后访问http://127.0.0.1:9117即可进入管理界面。在界面里点击Add Indexer挑选你需要的种子站点加入列表每个站点都是一个索引器。添加完成后用界面自带的Manual search验证一下能否正常返回结果。第二步添加Jackett插件并填写配置回到qBittorrent的搜索插件窗口安装来自本项目的jackett.py插件。它与其他插件最大的不同是配置不写在代码里而是放在一个独立的jackett.json文件中存放在qBittorrent的插件目录下。这样以后升级插件文件配置也不会被覆盖。如果没有这个文件手动创建一份即可内容如下{ api_key: YOUR_API_KEY_HERE, url: http://127.0.0.1:9117, tracker_first: false, thread_count: 20 }四个字段的含义api_key是Jackett界面右上角显示的API密钥url是Jackett服务地址结尾不要带斜杠tracker_first控制是否把站点名称放在结果标题前面thread_count是并发请求线程数设为1可以关闭并发。第三步在索引器里逐个添加站点如果你用的是较新版本的qBittorrent操作位置在搜索标签页的索引器…按钮。点击添加名称随便起Torznab URL和API Key从Jackett界面里复制过来即可。添加完成后索引器列表中每个条目都可以右键禁用或编辑。确保状态为已启用说明配置已经生效。之后在搜索框输入关键词qBittorrent会并行查询所有已启用的索引器你可以按做种数、大小等维度对汇总结果排序筛选看到满意的资源直接双击就能加入下载队列。五、进阶看懂并扩展一个插件如果你在列表里找不到某个想用的站点或者某个插件因为网站改版而失效你可以自己动手修。官方wiki wiki/How-to-write-a-search-plugin.md 提供了完整的插件规范这里用仓库里的真实代码帮你建立直觉。以eztv.py为例它的核心是一个继承自HTMLParser的内部解析器在遇到磁力链接标签时记录下载链接在遇到资源标题标签时记录名称在遇到数字文本时记录做种数最后在一行结束的标志处调用prettyPrinter()把这条结果交付出去。再看torrentscsv.py它展示了另一种思路目标站点提供JSON API所以完全不需要HTML解析直接用retrieve_url()拿到JSON、用json.loads()解析、逐条调用prettyPrinter()即可代码精简到只有几十行。写插件时最容易踩的三个坑提前告诉你类名必须和文件名一致比如文件叫eztv.py类就必须叫eztv否则qBittorrent拒绝安装。不要往标准输出打印任何调试信息插件和qBittorrent之间的数据全靠标准输出传递一旦混入杂音结果解析就会错乱。调试信息请输出到标准错误流。只使用Python标准库不要依赖第三方包因为你无法保证用户环境里装了什么。如果你想验证自己写的插件项目在 nova3/tests/ 里提供了针对每个官方插件的测试套件开发者环境用uv sync初始化、just test跑测试流程都在 nova3/README.md 里写明了。六、几个高频问题的快速排查插件装了却搜不到任何结果先看插件是否处于已启用状态再看目标网站是否还能正常访问。站点改版是插件失效的头号原因检查项目仓库有没有更新版本如果不想等直接把搜索切到Jackett路线更省心。搜索速度慢得像蜗牛同时启用的插件越多等待时间越长。建议只保留最常用的三五个其余先禁用如果用了Jackett把thread_count适当调小避免并发请求触达站点限流。某个站点总是超时这通常是站点屏蔽了你的网络环境。检查代理设置或者换个同类站点插件。有些插件比如带❗标记的本身就不稳定列表页有明确警告尽量避开。升级后配置全没了如果你用的是Jackett插件配置在jackett.json里升级插件文件不会动它但如果你把配置写在了jackett.py里升级就会被覆盖——这也是官方坚持用外部配置文件的原因。七、从使用者到贡献者只差一次搜索回看整个过程qBittorrent搜索插件的价值其实可以用一句话概括它把找资源这件事从零散的浏览器操作收敛成了下载器里的一个搜索框。无论你是偶尔下一两部剧集的普通用户还是每周要处理大量资源的重度玩家这套机制都能实打实地省下时间。你的下一步很简单克隆仓库到本地先装上几个常用插件跑一遍git clone https://gitcode.com/gh_mirrors/se/search-plugins然后打开nova3/engines/目录看看eztv.py、torrentscsv.py这些真实插件的写法。如果发现某个插件失效而你有能力修复欢迎直接提交Pull Request——这个项目正是靠社区贡献者持续维护才能让所有使用者一直有新站可用。从今天起把搜索框当作你的起点剩下的交给插件就好。【免费下载链接】search-pluginsSearch plugins for qBittorrent search feature项目地址: https://gitcode.com/gh_mirrors/se/search-plugins创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表