栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【坑】金山文档批量下载技巧记录(Python+JS)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【坑】金山文档批量下载技巧记录(Python+JS)

文章目录
  • 序言
  • requests请求出现的问题
  • selenium代码分析
  • JS下载代码解析
  • 总结


序言

截至本文发布,在金山文档网页版中,如果需要同时下载2个及以上的文件,则必须开通会员。很容易想到可以编写爬虫逐一下载文件以达到批量下载的目的。

通过抓包可以发现这并不复杂,任意选取一个文件并点击下载,监听XHR下的数据包,可以捕获到如下的关键数据包:

图1 单个文件加载数据包响应结果

上图右侧响应结果中的url字段即为文件下载地址,注意该下载地址并不需要处于登录状态,任意状态下都可以访问下载(但是存在有效期)。

那么这个事情就很简单,我们来看一看这个数据包的请求字段:

图2 单个文件加载数据包请求字段

如图中标注的那样,上图请求URL中只有两个可变字段:groupid与fileid,groupid很容易直接从当前页面的URL中就可以读到。fileid则有很多方法可以读取,事实上当前页面源代码中某个