大神使用Python爬取微信群里的百度云资源
需求背景: 最近误入一个免费(daoban)资源的分享群(正经脸) , 群里每天都在刷资源链接 。 但是大家都知道 , 百度云的分享链接是很容易被河蟹的 , 群里除了分享链接外 , 就是各种抱怨 “怎么又失效了” , “又河蟹了...” 。 本着学习技术的初心 , 于是我就开始研究怎样自动爬取微信群的消息并自动转存到自己的云盘 。
文章插图
需求:(1) , 爬取微信群里的百度云分享链接
(2) , 将资源转存到自己的网盘
涉及(1) , 正则表达式
(2) , 如何分析cookie和api
(3) , selenium(webdriver)
本篇文章目录(1) , 爬取微信群聊信息里的网盘资源
(2) , 寻找并分析百度云的转存api
(3) , 爬取shareid、from、filelist , 发送请求转存到网盘
(4) , 完整代码
【大神使用Python爬取微信群里的百度云资源】(5) , 参考
爬取微信群聊信息里的网盘资源 爬取微信群聊信息可以用微信网页版的api , 这里推荐一个高度封装 , 使用简单的工具:wxpy: 用 Python 玩微信
文章插图
这是个不错的工具 , 可以实现网页版微信的所有功能 , 之前博主利用它还实现了机器人聊天功能 , 自己的个人账号华丽转变 微软小冰。 虽然微软还没有公开小冰的 api, 不过我们完全可以利用这个工具的转发功能来实现 , 思路很简单 , 微信上领养一个小冰 , 把别人说的话转发给小冰 , 再把小冰说的话转发回去 。
文章插图
扯远了 , 总之利用这个工具 , 就可以对微信群聊里的信息进行监听 , 接着就是利用正则表达式把网盘链接抓取出来 。 具体的代码我就不贴了 , 使用起来很简单 。
寻找并分析百度云的转存api
这个部分才是我们的重点 , 首先你得有一个百度云盘的账号 , 然后登录 , 用浏览器(这里用火狐浏览器做示范)打开一个分享链接 。 F12打开控制台进行抓包 。 手动进行转存操作:全选文件->保存到网盘->选择路径->确定 。 点击【确定】前建议先清空一下抓包记录 , 这样可以精确定位到转存的api , 这就是我们中学时学到的【控制变量法】2333 。
文章插图
可以看到上图中抓到了一个带有 “transfer” 单词的 post请求 , 这就是我们要找的转存(transfer)api。 接下来很关键 , 就是分析它的请求头和请求参数 , 以便用代码模拟 。;from=140959320 --tt-darkmode-bgcolor: #BDBEBE;">Cookies】就可以看到请求头里的cookie 情况 。
文章插图
cookie分析:
因为转存是登录后的操作 , 所以需要模拟登录状态 , 将与登录有关的cookie 设置在请求头里 。 我们继续使用【控制变量法】 , 先将浏览器里关于百度的 cookie 全部删除(在右上角的设置里面 , 点击【隐私】 , 移除cookies 。 具体做法自己百度吧 。 )
然后登录 , 右上角进入浏览器设置->隐私->移除cookie , 搜索 "bai" 观察cookie。 这是所有跟百度相关的cookie, 一个个删除 , 删一个刷新一次百度的页面 , 直到删除了 BDUSS, 刷新后登录退出了 , 所以得出结论 , 它就是与登录状态有关的 cookie。
同理 , 删除掉 STOKEN 后 , 进行转存操作会提示重新登录 。 所以 , 这两个就是转存操作所必须带上的cookie。
- 想自学Python来开发爬虫,需要按照哪几个阶段制定学习计划
- 未来想进入AI领域,该学习Python还是Java大数据开发
- 或使用天玑1000+芯片?荣耀V40已全渠道开启预约
- 苹果将推出使用mini LED屏的iPad Pro
- 手机能用多久?如果出现这3种征兆,说明“默认使用时间”已到
- 苹果有望在2021年初发布首款使用mini LED显示屏的 iPad Pro
- 笔记本保养有妙招!学会这几招笔记本再战三年
- 2021年Java和Python的应用趋势会有什么变化?
- 非计算机专业的本科生,想利用寒假学习Python,该怎么入手
- 数据可视化三节课之二:可视化的使用