Python新手,想写个脚本去批量下载链接这个站点的文件。其中一个文件的下载页面是这样的:链接。
分析这个下载页面,发现点下载按钮的时候会向http://cdn.share-byte.net/d.php 这个URL去post,传递s和k两个值,这两个值可以通过正则匹配到,已经获得。
现在是把post返回的结果写文件,发现返回结果是个错误的HTML文件提示,不像浏览器点下载直接下载二进制文件,错误文件内容如下:
https://gist.github.com/zxmLoveLife/8680558
我代码里用到了Python的第三方模块requests和pyquery.代码如下,高手帮分析下,感激不尽。
代码截图如下:
data=json.dumps(params)
是以json格式POST上去的,表单提交直接使用params
即可。使用
json.dumps(params)
提交的数据是:{"s": "bfcaeee4d1dce32f0e5945b3705bd870", "k": "jfKpK8"}
而直接提交params,提交的数据是:
s=bfcaeee4d1dce32f0e5945b3705bd870&k=jfKpK8
下面是我的代码:
谢谢 @依云 @yiner ,dict是可以直接传给post函数的,另外,把返回的头部当作请求头部也是一个问题。
Content-Type
也是可以去掉的。