繁体   English   中英

如何使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM