[英]How to download file from website that requires login information using Python?
[英]How to download text file from website using Python?
我需要编写一个函数,该函数可以从http://www.namejet.com/pages/downloads.aspx.
下载并存储今天的预发布域.txt文件列表http://www.namejet.com/pages/downloads.aspx.
因此,由于今天是10月8日,因此您想要获取文件“ 2012年10月8日,星期一”。 尝试了请求,但没有成功。 我遇到了麻烦,因为该文件未存储在固定的URL上,但隐藏在某些Javascript后面。
在处理ASP.NET的回发系统时,这有些棘手。 如果这不是用于个人脚本,则我会警惕,因为您不仅在有效地使用另一个站点的数据,而且还对它们的软件进行了反向工程(但是,IANAL并不了解有关这些问题的合法性)系统)。
您要做的是检查POST数据(使用Firebug,Chrome开发人员工具等),然后查找表单对象的__EVENTTARGET
和__VIEWSTATE
属性。 您必须解码__VIEWSTATE
才能使其可读(请查看http://ignatu.co.uk/ViewStateDecoder.aspx )。 从那里,我认为您应该能够弄清楚如何获取所需的数据。
在Python中,它非常简单:
from urllib2 import urlopen
from urllib import urlencode
data = urlopen('url', urlencode({
'__VIEWSTATE': 'foo',
'__EVENTTARGET': 'bar',
})).read()
实际上,您将获得文本文件,以响应具有多个base64编码的请求参数的POST请求。 随意玩
使用Firebug或任何其他调试工具查看POST的内容和参数
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.