利用Python爬虫建立自己的磁力搜索引擎

编程知识 更新时间:2023-05-01 22:17:59

现在磁力站很多,但是搜出来的东西乱七八糟的,广告也多,我看多了觉得挺烦的,正好周末无聊,想着自己做一个,下面附上本次利用Python爬虫磁力站点的教程。

下面是我写爬虫时候主要引用的库

当然,抓取的关键词可以自己从代码里设置,比如title,文件大小之类的。

但我怎么知道爬出来的哪些数据是没有用的呢?自己手动一个一个试显然不靠谱。

其实我并不需要知道哪些数据是没有用的,我只需要确定哪些数据是有用的就可以!!!

我的做法是:尝试和traceker通信,通信成功的链接才会保留下来帮我导出到excel,通信失败的,就直接剔除。

对了,这里跟大家解释一下Tracker是什么?

tracker服务器是BT下载中必须的角色。一个BTclient在下载开始以及下载进行的过程中,要不停的与tracker服务器进行通信,以报告自己的信息,并获取其它下载client的信息。

客户端连上 tracker服务器,就会获得一个下载人员的名单,根据这个,BT会自动连上别人的机器进行下载。它是提供bt的服务器。把文件用bt发布出来的人需要知道该使用哪个服务器来为要发布的文件提供tracker。由于不指定服务器,BitTorrent采用BT文件来确定下载源。

那么好了,到了这一步,我只需要python帮我把爬出来的资源导出到excel即可。

导出excel需要用到的库

设置好excel需要保存的位置就好啦!


关于磁力链的原理:

磁力链接由一组参数组成,参数间的顺序没有讲究,其格式与在HTTP链接末尾的查询字符串相同。通常是一个特定文件的内容散列函数值形成的URN,例如:
  magnet:?xt=urn:btih:4D9FA761D69964B00DF0B3B0C9C1F968EA6C47D0&xt=urn:ed2k:7655dbacff9395e579c4c9cb49cbec0e&dn=bbb_sunflower_2160p_30fps_stereo_abl.mp4&tr=udp%3a%2f%2ftracker.openbittorrent%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt%3a80%2fannounce&ws=http%3a%2f%2fdistribution.bbb3d.renderfarming%2fvideo%2fmp4%2fbbb_sunflower_2160p_30fps_stereo_abl.mp4
  虽然这个链接指向一个特定文件,但是客户端应用程序仍然必须进行搜索来确定哪里。
  在标准的草稿中其他参数的定义如下:

magnet:协议名。

xt:exact topic的缩写,包含文件哈希值的统一资源名称。BTIH(BitTorrent Info Hash)表示哈希方法名,这里还可以使用ED2K,AICH,SHA1和MD5等。这个值是文件的标识符,是不可缺少的。

dn:display name的缩写,表示向用户显示的文件名。这一项是选填的。

tr:tracker的缩写,表示tracker服务器的地址。这一项也是选填的。

ws:webseed的缩写,表示网络种子。

urn:(Uniform Resource Name, URN 表示资源名

btih:BitTorrent info hash,种子散列函数

应用程序定义的实验参数,必须以"x."开头。 

标准还建议同类的多个参数可以在参数名称后面加上".1", ".2"等来使用,例如:
  magnet:?xt.1=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C&xt.2=urn:sha1:TXGCZQTH26NL6OUQAJJPFALHG2LTGBC7

更多推荐

利用Python爬虫建立自己的磁力搜索引擎

本文发布于:2023-04-24 06:02:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/e744e8bea70fa3320b48dadf9d32b705.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:自己的   爬虫   磁力   搜索引擎   Python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 99854文章数
  • 25977阅读数
  • 0评论数