我想提交一个 multipart/form-data 来设置TRILEGAL上的模拟输入,并从重定向页面下载可用的文件。
我研究了请求、urllib、Grab、机械化等的文档,似乎在机械化中我的代码将是:
from mechanize import Browser
browser = Browser()
browser.open("http://stev.oapd.inaf.it/cgi-bin/trilegal")
browser.select_form(nr=0)
browser['gal_coord'] = ["2"]
browser['eq_alpha'] = ["277.981111"]
browser['eq_delta'] = ["-19.0833"]
response = browser.submit()
content = response.read()
但是,我无法测试它,因为它在 python 3 中不可用。
所以我尝试了请求:
import requests
url = 'http://stev.oapd.inaf.it/cgi-bin/trilegal'
values = {'gal_coord':"2",
'eq_alpha':"277.981111",
'eq_delta':"-19.0833",
'field':" 0.047117",
}
r = requests.post(url, files = values)
但我不知道如何进入结果页面 - 如果我这样做了
r.content
它显示了我刚刚提交的表单的内容,而如果您打开实际网站,然后单击“提交”,您会看到一个新窗口(按照 method="post" action="./trilegal_1.6" ) .
如何通过请求进入那个新窗口(即,点击提交按钮时打开的页面),然后单击结果页面上的链接以检索结果文件(“结果将在大约 2在这个链接上几分钟。”)?
如果您能指出任何其他可以完成这项工作的工具,我将不胜感激 - 我花了几个小时寻找可以帮助解决这个问题的东西。
谢谢!
克里斯