0

我需要编写一个函数来下载和存储今天的预发布域 .txt 文件列表, http://www.namejet.com/pages/downloads.aspx. 因为今天是 10 月 8 日,您想要获取文件“2012 年 10 月 8 日星期一”。尝试了请求,但没有奏效。我遇到了麻烦,因为该文件没有存储在固定的 URL 上,而是隐藏在一些 Javascript 后面。

4

2 回答 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 回答