我希望使用Python(在2.7中工作)来:
我最初看的是使用机械化,它适用于零件(1)和(2)。但是,使用mechanize,可以将生成的页面的HTML作为输出(content
在下面的代码中)。然后我可以将该HTML写入本地文件并使用webbrowser.open()
打开它,但由于生成的页面包含javascript,因此无法正常显示(并且未显示的内容更多 - 或 - 首先看一下这个页面的重点。)
有没有办法做第(3)部分?便宜的伎俩是将webbrowser.open()
与最终的URL字符串(以及我插入的本地数据)一起使用,除了URL没有改变一次"提交"被按下了。
相关代码,包括(包括将HTML保存到本地计算机并以此方式打开):
#!/usr/bin/env python
import webbrowser
import mechanize
url = 'http://nunuku.caltech.edu/cgi-bin/getcssconedb_release_img.cgi'
br = mechanize.Browser()
br.open(url)
br.select_form(nr = 0)
br['RA'] = ra
br['Dec'] = dec
br['Rad'] = '0.1'
br['IMG'] = ['nun'] # These are for the radio buttons.
br['DB'] = ['photcat']
br['OUT'] = ['csv']
br['SHORT'] = ['short']
response = br.submit()
content = response.read()
with open('results.html', 'w') as f:
f.write(content)
webbrowser.open('results.html')
(在上文中,br[]
语句是页面上的表单标签,ra
和dec
变量是根据情况从我的文件中获取的值。例如, ra = 03:50:10.71
和dec = +32:32:29.60
。您可以将这些插入网站 - 如果您非常愿意 - 看看我想看到的内容。)
感谢所有建议!谢谢!
答案 0 :(得分:2)
我可以看到你有兴趣显示带有值的页面 不只是获取发送请求的数据。 你的想法不是很糟糕,但机械化你所看到的并不是使用任何实际的浏览器实例。机械化是
程序化网页浏览
我猜你正在寻找类似的东西: