用于HTTP的Python模块:填写表单,检索结果

时间:2013-08-17 15:33:57

标签: python http request

我想使用Python访问HTTP网站,填写表单,提交表单并检索结果。

哪些模块适合这项任务?

2 个答案:

答案 0 :(得分:1)

我们无法向您提供详细说明,因为您从未向我们提供有关问题的详细信息。 但是,很可能您希望使用urllib2来获取HTML页面:

import urllib2
response = urllib2.urlopen('http://python.org/')
html = response.read()

然后,您应该解析表单,找出需要使用其名称发送的所有数据字段,然后根据表单类型创建自己的POST或GET请求。

发送POST请求:

import urllib
import urllib2

url = 'http://www.someserver.com/cgi-bin/register.cgi'
values = {'name' : 'Michael Foord',
      'location' : 'Northampton',
      'language' : 'Python' }

data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
the_page = response.read()

发送GET请求:

import urllib2
import urllib
data = {}
data['name'] = 'Somebody Here'
data['location'] = 'Northampton'
data['language'] = 'Python'
url_values = urllib.urlencode(data)
url = 'http://www.example.com/example.cgi'
full_url = url + '?' + url_values
data = urllib2.urlopen(full_url)

答案 1 :(得分:1)

我使用了简单的Requests和更复杂的httplib2。两者都100%适合这项任务。