我相对较新(就像几天一样)到Python - 我正在寻找一个示例,告诉我如何将表单发布到网站(比如www.example.com)。
我已经知道如何使用Curl。事实上,我编写的C +++代码完全相同(即使用Curl POST一个表单),但我想要一些起点(我可以构建几行),这将告诉我如何使用它蟒。
答案 0 :(得分:2)
以下是使用urllib和urllib2进行POST和GET的示例:
POST - 如果urlopen()
有第二个参数,那么它就是一个POST请求。
import urllib
import urllib2
url = 'http://www.example.com'
values = {'var' : 500}
data = urllib.urlencode(values)
response = urllib2.urlopen(url, data)
page = response.read()
GET - 如果urlopen()
只有一个参数,那么它就是GET请求。
import urllib
import urllib2
url = 'http://www.example.com'
values = {'var' : 500}
data = urllib.urlencode(values)
fullurl = url + '?' + data
response = urllib2.urlopen(fullurl)
page = response.read()
如果您使用curl
调用它,也可以使用os.system()
。
以下是一些有用的链接:
http://docs.python.org/library/urllib2.html#urllib2.urlopen
http://docs.python.org/library/os.html#os.system
答案 1 :(得分:0)
curl -d "birthyear=1990&press=AUD" www.site.com/register/user.php
答案 2 :(得分:0)
有两个主要的Python包用于自动化Web交互:
Twill显然没有更新几年,似乎自2007年12月以来一直处于0.9版本.Mechanize显示几天前的更新日志和版本:2010-05-16,版本为0.2。 1。
当然,您会在各自的网页中找到列出的示例。 Twill本质上提供了一个类似于解释器的简单shell,而Mechanize提供了一个类和API,例如,您可以使用Python类似字典(__setattr__()
方法)语句设置表单值。两者都使用BeautifulSoup来解析“真实世界”(草率标签汤)HTML。 (强烈建议您处理在野外遇到的HTML,并且强烈建议您不要使用自己的HTML编写,以便通过符合标准,验证,解析器的标准。)