如何实际下载附件?

时间:2012-12-07 21:03:01

标签: python python-2.7 urllib2

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

req = urllib2.Request(url, data, headers)
response = urllib2.urlopen(req)

当我查看像print response.info()['Content-Disposition']这样的响应标题时,我在那里看到了文件,即它打印的内容类似于attachment;filename=myfile.txt

但我如何下载附件?如果我response.read()我只是在url处获得包含页面HTML的字符串。关键是url不是文件,它是带有“附件”的网页,我正在尝试使用urllib2下载该附件。我相信附件是动态生成的,所以它不只是坐在服务器上。

1 个答案:

答案 0 :(得分:2)

问题是我没有发送所有必要的标题。特别是,我必须在请求标头中发送正确的cookie。我做了以下事情:

  1. 打开Chromium(或Chrome)并按Ctrl + Shift + I打开开发人员工具。
  2. 点击“网络”
  3. 访问要下载文件的页面。
  4. 单击开发人员工具中新创建的条目,然后单击标题。这就是我收到我需要发送的标题的所有信息的地方。