今天在使用蓝奏网盘的时候发现有一个文件夹加密分享,然后我就尝试了加密文件夹,但是文件夹下的文件还是可以直接通过访问该文件链接得到,所以对于文件夹加密是否显得有点鸡肋了呐?
如此,我们便简单的使用Python爬虫来实现一下:
1.抓取网盘链接+文件名
2.作用:存为文本文件,当我们需要什么资料的时候或许就可以通过Ctrl+F快速搜索,从而得到我们想要的资源<_<
实现:
1.分析:
第一个链接:http://pan.lanzou.com/x/1671840
![](https://i-blog.csdnimg.cn/blog_migrate/f21e0242bdd551a916e40817ae8b1956.webp?x-image-process=image/format,png)
第二个链接:https://pan.lanzou.com/1671841
...
如此,我们便分析到,这个网站的文件链接极大可能是通过文件数量递增来的,我们继续分析。
![](https://i-blog.csdnimg.cn/blog_migrate/4938af6a102a2fcae8e4f85e3c7c646e.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/08b7b7c208505f8925e843a8c0c3db8a.webp?x-image-process=image/format,png)
我们在对url的有效数字大小判断
然而只有在167xxxx范围,当然我们不信怎么才会只有这么一点
![](https://i-blog.csdnimg.cn/blog_migrate/14e65a7f38165e5e31f7aa4795c6ee94.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/e6007ad044a518dccc855978a0c91901.webp?x-image-process=image/format,png)
再次分析原来是有的资源被取消分享了,所以会出现资源不存在的情况!
抓包分析知道:GET请求
![](https://i-blog.csdnimg.cn/blog_migrate/ea05e1720d7ad35e7ad21330b707b05c.webp?x-image-process=image/format,png)
因此,我们开始尝试写获取网页的代码
代码运行如下:
![](https://i-blog.csdnimg.cn/blog_migrate/31659a6c2d82b2aa8e270f4cacf34512.webp?x-image-process=image/format,png)
貌似,为啥?可以直接请求https???Excuse me
百度也可以。。。
![](https://i-blog.csdnimg.cn/blog_migrate/b720351a129004d3cb43abcf454f57cb.webp?x-image-process=image/format,png)
那就先不管了。。。因为以前都是需要的,百度一下,在某个大神博客截图说明一下,
我们继续,等会儿通过判断返回的状态码来确定是否继续执行下一步。
既然HTTPS没问题了,那么问题现在就简单了:
![](https://i-blog.csdnimg.cn/blog_migrate/577d9842cf1fde97643f64edff97f5a9.webp?x-image-process=image/format,png)
print(res.status_code)#输出状态码为整数型
![](https://i-blog.csdnimg.cn/blog_migrate/4b03698cc8ab7724796b31e593b43916.webp?x-image-process=image/format,png)
如此成功顺利
![](https://i-blog.csdnimg.cn/blog_migrate/7bcc5e5ed7d055d3682b4e9e23a55344.webp?x-image-process=image/format,png)
接下来尝试少量数据获取:
![](https://i-blog.csdnimg.cn/blog_migrate/b53a76a0cc7719b5ef9b7d8eb913055a.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/3b7b0abff13661223aaf8ce9d3cbbb6e.webp?x-image-process=image/format,png)
发现有获取不到文件的情况
![](https://i-blog.csdnimg.cn/blog_migrate/f8b7f06cd2188bb810e873aff4b40265.webp?x-image-process=image/format,png)
原本是有文件的,只是被取消了,但是我们存储的数据利肯定不能有这些无效数据啊
所以必须得优化,补充一下,访问这种情况,网页的状态码也为200
![](https://i-blog.csdnimg.cn/blog_migrate/ce6ed71cb471a6cc89bcd9d37605f606.webp?x-image-process=image/format,png)
获取的标题长度为7我们则认为此时文件被取消,虽然有点勉强,但是测试时基本没啥问题,因为有文件名的文件title长度为7+len(文字),至于这个七字节来自于' --- '
所以我们有理由相信,如果字符串title的长度为7,则文件不存在,则取消探索,这样做没较大的问题。
So,再写入文件中即可。
从早上7:45开始运行...
上完课回来已经12:38了,先结束吧。
![](https://i-blog.csdnimg.cn/blog_migrate/ae0deafaf3fadecbac6f5cb112217bc4.webp?x-image-process=image/format,png)
下节课讲如何利用python模拟登陆保持会话。
关于这个爬取网盘项目还要继续下去,有惊喜哦~哈哈~
注:本文属于原创文章,转载请注明本文地址!
作者QQ:1099718640
CSDN博客主页:http://blog.csdn.net/dyboy2017
Github开源项目:暂无开源