我有一个使用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来获取信息)? (我是否希望变得更加复杂,以便我不必管理各个网址的更新?)
提前感谢您的帮助。
答案 0 :(得分:0)
这与您正在使用的网站使用的是管理页面状态的.NET WebForms有关。隐藏形式变量中的交互。
简而言之,您需要通过Selenium之类的链接点击链接