推广 热搜: 公司  快速  上海  中国  企业    未来  政策  系统  公司2 

使用Python多线程爬虫实现磁力链接搜索神器

   日期:2024-11-11     作者:xinet    caijiyuan   评论:0    移动:http://www78564.xrbh.cn/mobile/news/27056.html
核心提示:因为技术交流群(群号见文末)的人数刚刚到达100人,为了吸引更多的人进技术交流群,从今天开始,我都会写一些好玩的项目,今天

因为技术交流群(群号见文末)的人数刚刚到达100人,为了吸引更多的人进技术交流群,从今天开始,我都会写一些好玩的项目,今天这东西估计很多人都会需要,因为磁力链接被很多人认为是……(算了,不说了,我是一个正经人

使用Python多线程爬虫实现磁力链接搜索神器

使用Python多线程爬虫实现磁力链接搜索神器_单线程

)。

磁力链接

讲获取磁力链接之前,首先讲一下什么是磁力链接?磁力链接(Magnet URI scheme),简单的说:类似下面这样以“magnet:?xt=urn:btih:”开头的字符串,就是一条磁力链接;确切的说:“磁力链接”的主要作用是识别【能够通过“点对点技术(即:P2P)”下载的文件】。这种链接是通过不同文件内容的Hash结果生成一个纯文本的“数字指纹”,来识别文件的。而不是基于文件的位置或者名称。

知道磁力链接是什么远远不够,我们还应该知道它在什么地方,如果去整个互联网寻找磁力链接犹如大海捞针,完全没有效率!实际上,磁力链接有专门的网站,一般百度搜索btbook就可以。我找到的是https://www.btbook.tv/这个网站,这个网站的内容如图所示。

使用Python多线程爬虫实现磁力链接搜索神器_多线程_02

查看URL+设计正则表达式

再爬虫之前,随便检索一个东西,我这里检索的关键字是刺客信条(因为我是一个正经人

使用Python多线程爬虫实现磁力链接搜索神器_单线程

),在搜索框中输入“刺客信条”,点击搜索,跳转到一个新的页面,这个页面如图所示。

使用Python多线程爬虫实现磁力链接搜索神器_单线程_04

观察URL,大致格式应该是这样的"https://www.btbook.tv/search/"+关键字+".html"。事实并不是这样,因为磁力链接不止一页,向下滚动到底,会看到如图所示的内容。

使用Python多线程爬虫实现磁力链接搜索神器_搜索_05

这个时候随便点击一个数或者>,看看其他页的URL和第一页有什么不同。当点击第二页,会发现URL变成了"https://www.btbook.tv/search/"+关键字+"/last-"+页码+".html"的格式,那么我们来检测一下,它有多少页,检测过程我就不详细讲解了。经过检测,它有100页,但最后一页或几页可能像这样。

使用Python多线程爬虫实现磁力链接搜索神器_搜索_06

这就告诉我们它可能会有异常的情况,这就要求程序中一定要有异常处理!

现在先看一下正常情况,跳到第一页,按F12,出现的内容如图所示。

使用Python多线程爬虫实现磁力链接搜索神器_搜索_07

然后在上面的网页源码的地方鼠标点击一下,然后按Ctrl+F打开搜索框,在源码位置搜索你所输入的关键字,我这里就是刺客信条啦,然后找到对应的地方,如图所示。

使用Python多线程爬虫实现磁力链接搜索神器_搜索_08

然后我们就点击第一个标题,网页内容如图所示。

使用Python多线程爬虫实现磁力链接搜索神器_单线程_09

首先查看URL,可以发现这里的URL就是"https://www.btbook.tv/"+那个超链接标签的href所对应的值,这个时候就可以轻松的写出正则表达式:r'<a.*?href="(/wiki/.*?.html)".*?>'。接着继续按F12,我们重点要获取的就是4个东西:名称、大小、磁力链接、迅雷链接。这个时候还是和之前一样,找到名称、大小、磁力链接、迅雷链接,存放位置并写出对应的正则表达式。

单线程爬虫实现磁力链接搜索神器

为了方便大家理解,先讲单线程爬虫。为了方便大家理解,代码中写了好多注释,实现代码如下:

使用Python多线程爬虫实现磁力链接搜索神器_多线程_10

使用Python多线程爬虫实现磁力链接搜索神器_多线程_11

多线程爬虫实现磁力链接搜索神器

有些人会认为单线程速度太慢,想提高一下检索速度,想使用多线程爬虫。在使用多线程爬虫之前首先要创建多个线程,想使用多线程就必须导入threading模块中的Thread类,我们大概也能够想到为每一页创建一个线程,实现代码如图所示。

使用Python多线程爬虫实现磁力链接搜索神器_单线程_12

使用Python多线程爬虫实现磁力链接搜索神器_多线程_13

最后提一些注意事项:第一,不要使用分布式多线程爬虫,使用分布式多线程爬虫会造成服务器过载,严重可能出现服务器崩溃,我这还不是分布式,就是一台机器多个线程而已;第二,建议凌晨期间执行此程序,因为凌晨上网的人比较少;第三,我这程序使用了Python3.6的新特性字符串前缀f,如果版本太低建议升级,因为其他原因升不了自己尝试修改。

今天的文章又不懂的可以加群,多线程爬虫实现磁力链接搜索神器的代码也上传到了群文件,群号:822163725,备注:小陈学Python,不备注可是会被拒绝的哦~!

最后欢迎大家扫码关注

本文地址:http://www78564.xrbh.cn/news/27056.html    迅博思语 http://www78564.xrbh.cn/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
 
更多>同类最新资讯
0相关评论

文章列表
相关文章
最新动态
推荐图文
最新资讯
点击排行
网站首页  |  二维码  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2023022329号