Python实战三 | 蓝奏网盘抓取网盘链接信息
今天在使用蓝奏网盘的时候发现有一个文件夹加密分享,然后我就尝试了加密文件夹,但是文件夹下的文件还是可以直接通过访问该文件链接得到,所以对于文件夹加密是否显得有点鸡肋了呐?
如此,我们便简单的使用Python爬虫来实现一下:
1.抓取网盘链接+文件名
2.作用:存为文本文件,当我们需要什么资料的时候或许就可以通过Ctrl+F快速搜索,从而得到我们想要的资源<_<
实现:
1.分析:
第一个链接:http://pan.lanzou.com/x/1671840

第二个链接:https://pan.lanzou.com/1671841
...
如此,我们便分析到,这个网站的文件链接极大可能是通过文件数量递增来的,我们继续分析。


我们在对url的有效数字大小判断
然而只有在167xxxx范围,当然我们不信怎么才会只有这么一点


再次分析原来是有的资源被取消分享了,所以会出现资源不存在的情况!
抓包分析知道:GET请求

因此,我们开始尝试写获取网页的代码
代码运行如下:

貌似,为啥?可以直接请求https???Excuse me
百度也可以。。。

那就先不管了。。。因为以前都是需要的,百度一下,在某个大神博客截图说明一下,
我们继续,等会儿通过判断返回的状态码来确定是否继续执行下一步。
既然HTTPS没问题了,那么问题现在就简单了:

print(res.status_code)#输出状态码为整数型

如此成功顺利

接下来尝试少量数据获取:


发现有获取不到文件的情况

原本是有文件的,只是被取消了,但是我们存储的数据利肯定不能有这些无效数据啊
所以必须得优化,补充一下,访问这种情况,网页的状态码也为200

获取的标题长度为7我们则认为此时文件被取消,虽然有点勉强,但是测试时基本没啥问题,因为有文件名的文件title长度为7+len(文字),至于这个七字节来自于' --- '
所以我们有理由相信,如果字符串title的长度为7,则文件不存在,则取消探索,这样做没较大的问题。
So,再写入文件中即可。
从早上7:45开始运行...
上完课回来已经12:38了,先结束吧。

下节课讲如何利用python模拟登陆保持会话。
关于这个爬取网盘项目还要继续下去,有惊喜哦~哈哈~
注:本文属于原创文章,转载请注明本文地址!
作者QQ:1099718640
CSDN博客主页:http://blog.csdn.net/dyboy2017
Github开源项目:暂无开源