发布webform后,如何从结果页面获取值?

时间:2012-06-15 14:09:26

标签: python http post python-requests

我正在使用请求(由Daniel Roseman建议)在网络表单上发布:

url = "http://mascot.proteomics.dundee.ac.uk/cgi/search_form.pl?FORMVER=2&SEARCH=MIS"
data = {'SEARCH':'MIS'}
files = {'JG-C1-1A.mgf' : open('/homes/ndeklein/Cantrell/JG-C1-1.mgf','rb')}    print 

当我打印r.okr.request时,我得到200分,所以POST工作正常。当我打印r.content时,我没有得到结果页面,而是提交表单的页面的html。当我从数据{'SEARCH':'MIS'}中删除r.content时,会返回缺少搜索类型的html错误页面,因此我知道如果帖子中出现错误,我会收到错误。

那我怎样才能得到结果页?

1 个答案:

答案 0 :(得分:1)

老实说,没有理由使用httplib。它是一个低级别的界面,对于你想要做的事情来说是不必要的复杂。至少,使用urllib2,它将遵循任何重定向。但也许你最好的选择是使用third-party requests module,这使得这一切变得更容易。