我想为一个名为statseeker的报告工具打开一个内部网页,该工具存储从打开URL时运行的报告生成的图像。到目前为止,我的观点是:
import urllib
import urllib2
import lxml, lxml.html
ID = '4050'
PorS = '1'
base_link = 'http://statseeker/cgi/nim-report?rid=42237&command=Graph&mode=ping&list=jc-'
dash = '-'
end_link = '&tfc_fav=range+%3D+start_of_today+-+1d+to+now%3B&year=&month=&day=&hour=&minute=&duration=&wday_from=&wday_to=&time_from=&time_to=&tz=America%2FChicago&tfc=range+%3D+start_of_today+-+1d+to+now%3B&rtype=Delay&graph_type=Filled&db_type=Average&x_step=1&interval=60&y_height=100&y_gridlines=5&y_max=&y_max_power=1&x_gridlines=on&legend=on'
urlauth = base_link + ID + dash + tPorS + end_link
print urlauth
realm = 'statseeker'
username = 'username'
password = '*******'
auth_handler = urllib2.HTTPBasicAuthHandler()
auth_handler.add_password(realm, urlauth, username, password)
opener = urllib2.build_opener(auth_handler)
urllib2.install_opener(opener)
data = opener.open(urlauth).read()
html = lxml.html.fromstring(data)
imgs = html.cssselect('img.graph')
for x in imgs:
y = 'http://statseeker%s' % (x.attrib['src'])
urllib.urlretrieve(y, 'test.jpg')
print 'http://statseeker%s' % (x.attrib['src'])
with open('statseeker.html', 'a') as f:
f.write(y)
当我在python中通过复制和粘贴手动运行时,代码执行得很好。你知道吗
当我将它保存为grab.py
并通过CMD python grab.py
运行它时,它会要求我再次在第urllib.urlretrieve(y, 'test.jpg')
行登录
所以我推断,出于某种原因,这不是通过它的身份验证
opener = urllib2.build_opener(auth_handler)
urllib2.install_opener(opener)
但我不知道为什么。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐