从" javascript:__ doPostBack"下载文件使用Python链接

时间:2018-02-14 14:11:18

标签: javascript python python-2.7

我有一个使用urllib2编写的现有Python脚本,可从http://链接下载:

import urllib2
import os.path
import os
from os import chdir, getcwd, listdir, path

print "downloading with urllib2"

f = urllib2.urlopen('http://www.dcregs.dc.gov/Notice/DownLoad.aspx?VersionID=4613531')
data = f.read()

with open( "11-B300.doc", "wb" ) as code :
code.write( data )

print "All done downloads!"

源网页已重新格式化为使用" javascript:__ doPostBack"地址:

javascript:__doPostBack('ctl00$MainContent$rpt_ruleList$ctl02$Label1','')

我的假设是有一些类似于urllib2的包,它允许我通过" javascript:__ doPostBack"下载相同的信息。格式化地址或调用信息所在的http网址,然后我可以从中下载信息。

现有的脚本在我的目的下运行良好,所以如果可能的话,我想限制额外的编码。

是否有替代urllib2允许我以类似的方式下载信息?

或者我将不得不在我的解决方案中变得更复杂(例如,使用Selenium来获取信息)? (我是否希望变得更加复杂,以便我不必管理各个网址的更新?)

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

这与您正在使用的网站使用的是管理页面状态的.NET WebForms有关。隐藏形式变量中的交互。

简而言之,您需要通过Selenium之类的链接点击链接