Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何下载附件?_Python_Python 2.7_Urllib2 - Fatal编程技术网

Python 如何下载附件?

Python 如何下载附件?,python,python-2.7,urllib2,Python,Python 2.7,Urllib2,我正在使用urllib2(尝试)从网站下载文件。只有在指定某些表单字段后才能下载该文件。我可以创建请求并毫无问题地获得响应,如下所示: req = urllib2.Request(url, data, headers) response = urllib2.urlopen(req) 当我看到像这样的响应头print response.info();filename=myfile.txt 但是我如何下载附件呢?如果我执行response.read()操作,我只会在url处得到一个包含页面HTML

我正在使用urllib2(尝试)从网站下载文件。只有在指定某些表单字段后才能下载该文件。我可以创建请求并毫无问题地获得响应,如下所示:

req = urllib2.Request(url, data, headers)
response = urllib2.urlopen(req)
当我看到像这样的响应头
print response.info();filename=myfile.txt


但是我如何下载附件呢?如果我执行
response.read()
操作,我只会在url处得到一个包含页面HTML的字符串。关键是url不是一个文件,它是一个带有“附件”的网页,我正试图用urllib2下载该附件。我相信附件是动态生成的,所以它不只是放在服务器上。

问题是我没有发送所有必要的头。尤其重要的是,我在请求头中发送正确的cookie。我做了以下工作:

  • 打开Chrome(或Chrome),点击Ctrl+Shift+I打开开发工具
  • 点击“网络”
  • 访问要下载文件的页面
  • 在开发人员工具中单击新创建的条目,然后单击标题。这就是我需要发送的所有标题信息的来源

  • 检查是否有
    是的,我实际上非常仔细地检查了页面上的所有javascript。我没有发现任何在页面加载时实际执行的相关内容。