本帖最后由 pinhai 于 2020-2-26 23:13 编辑
一、引子
因发现有人悬赏下载淘豆网(taodocs.com)文档,之前看过python下载文泉的文档,就想试试看能不能用python下载淘豆网付费文档。
二、分析
以https://www.taodocs.com/p-55966379.html为例,浏览器为火狐。ctrl+shift+E打开开发工具-网络,刷新该页面,试一下“图像”选项,观察左侧请求,不难发现该页面里面加载的文档都是图片,分辨率810*1146,至此确定下载思路为下载每个页面的图片,最后合成为pdf格式。
01.jpg (134.14 KB, 下载次数: 0)
2020-2-26 19:50 上传
三、探索
1.要想下载图片就必须知道图片地址,查看上图所点选的请求,发现消息头为https://file.taodocs.com:808/img/Hj5pnzEjlNUzKb8@8S9qCO38LfhgpL2T,非常简单,前半部分为服务器地址https://file.taodocs.com:808/img/,后面为一个字符串,查看图片地址问题简化为查找字符串生成方式。多次打开该页面,发现针对同一个页面,该字符串是固定不变的,更进一步简化了探索过程。通过调试器查找该字符串,没有结果,也正常,如果能在源码中找到该字符串,这个问题也过于简单了。
02.jpg (71.56 KB, 下载次数: 0)
2020-2-26 19:50 上传
2.既然在源码中没有,那应该是从服务器动态获取的,重新翻看各个请求,发现这样一个请求
https://file.taodocs.com:808/?from=pc_55966379&furl=lBk9LJ9uXl6xoMR8lbVBog==&callback=jQuery112405711252286986038_1582691611656&_=158269161165,其响应结果为
[JavaScript] 纯文本查看 复制代码jQuery112405711252286986038_1582691611656({"imgs":["i8iHNYeTqVJnoWn94KhuiUcGAbR7NkEda7Pz/A2BXR6Klbsjxc6VBFlNSo2v+E+gPbaY0kGjILRUfWGVklmq1Q==","i8iHNYeTqVJnoWn94KhuiUcGAbR7NkEda7Pz/A2BXR5qt+SMkv+qjTc0lEgGxV7hMMSI+gTcr2AiNP8TFOBijg==","i8iHNYeTqVJnoWn94KhuiUcGAbR7NkEda7Pz/A2BXR7A4Dh7vPZP21hM7cvADzC9TKG2FdbWuk9LnmXlFAkXgg&#