新番下载链接爬取工具
本文最后更新于 2022年10月19日 上午
今年开始放弃了在B站看番,番剧不全以及悄悄裁剪不可能再用它来追了,回到很早前的方式,靠字幕组传资源。但是每次都得去资源网点搜索然后再下载毕竟麻烦,于是抽空搞个小工具,帮我把下载链接都趴下来。
前言
本文不是讲具体实现过程,因为交互估计会变幻莫测,不断尝试一种最舒服的方式。我也不想不断重新编辑本文,这里只会说明大致设计方式。并且提供源码和编译好的exe使用文件。开源的工程不断更新也会迭代使用方式,反正我就是不想重复编辑本文啦。业余时间写写,不定更新,
设计
语言肯定用python,时间宝贵。爬虫用BeautifulSoup,图个方便。pyqt的界面,pyinstall打包。整个工程三方包少,所以如果你想自己搞个也很容易。
输入输出
来谈谈输入和输出,首先排除每次人工打字输入动漫名称,太麻烦了,输入旨在让使用者尽量少的操作,例如在一个配置文件中写入需要爬取的动漫名称,程序每次导入,只做一次输入。又或者是自己去爬当季度的新番表,然后让使用者去删除不想要的,得到一个输入。当然还要其他方式,反正无论如何怎么懒怎么来。
输出也有很多可选方式,直接把动画下载下来、下载种子、生成表格记录下载链接等,这里就不仅要考虑到便利也得考虑下通用性,例如生成了个表格,结果没装office,或者下载了种子,但是没可以下载的工具等。当然不可能满足所以情况,就旨在找去个平衡点,还是怎么懒怎么来。
爬取流程
这个流程基本基本适用目前这些动漫的下载网站了。
首先get请求带上需要搜索的动漫名称进入搜索结果页面,张啥样就直接去对应的网站用一下它的搜索就知道了。然后需要从这个页面获取到:
- 资源总数
- 页码数量
用资源总数来判断有没有搜索到东西,用页面来做循环,处理每一页的搜索结果。处理方式就是将当前页面的所有结果链接提取保存起来,之后用来拉子页面。这里视情况可以做一轮资源的筛选。
对搜集来的子页面链接集合进行进行循环,从每个子页面获取:
- 资源名称
- 发布时间
- 资源大小
- 下载链接(包含磁力、种子或其他)
这里可以做第二轮赛选,之后就是对获取的信息按照既定方式输出,生成表格或者直接下载什么的咯。
是不是很简单,代码也没几行,所以如果观者有意自己写也很方便,提升下自己的追番体验。
源码和可执行文件
版本发布页,下载:spaider-animate-V010.zip
使用说明在源码那里可以看到