0

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

哪些模块适合该任务?

4

2 回答 2

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)
于 2013-08-17T15:45:59.573 回答
1

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

于 2013-08-17T15:51:23.807 回答