我需要编写一个函数来下载和存储今天的预发布域 .txt 文件列表,
http://www.namejet.com/pages/downloads.aspx.
因为今天是 10 月 8 日,您想要获取文件“2012 年 10 月 8 日星期一”。尝试了请求,但没有奏效。我遇到了麻烦,因为该文件没有存储在固定的 URL 上,而是隐藏在一些 Javascript 后面。
问问题
1427 次
2 回答
2
当您处理 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()
于 2012-10-08T06:25:33.887 回答
1
实际上,您会获得文本文件以响应具有多个 base64 编码请求参数的 POST 请求。随意玩它
使用 Firebug 或任何其他调试工具查看 POST 内容和参数
于 2012-10-08T05:30:38.753 回答