使用Python和Cu发布表单

2024-04-19 03:25:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python比较陌生(几天之后),我正在寻找一个示例来演示如何将表单发布到网站(例如www.example.com网站). 在

我已经知道如何使用Curl了。事实上,我编写了C++代码,它完全相同的事情(即用CURL写一个表单),但是我希望有一些起点(我可以在其中建立几行),这将告诉我如何使用Python来做这件事。在


Tags: 代码com表单示例网站examplewwwcurl
3条回答

下面是一个将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请求。在

^{pr2}$

如果使用os.system()调用它,也可以使用curl。在

以下是一些有用的链接:
http://docs.python.org/library/urllib2.html#urllib2.urlopen
http://docs.python.org/library/os.html#os.system

curl -d "birthyear=1990&press=AUD" www.site.com/register/user.php

http://curl.haxx.se/docs/httpscripting.html

有两种主要的Python包用于自动化web交互:

  • Mechanize
  • Twill

    Twill显然已经有几年没有更新了,从2007年12月开始,Twill的版本一直是0.9。Mechanize显示了changelog和几天前发布的版本:2010-05-16和版本0.2.1。在

    当然,你会在他们各自的网页上找到例子。Twill本质上提供了一个简单的类似shell的解释器,而Mechanize提供了一个类和API,您可以在其中使用类似Python字典的(__setattr__()方法)语句设置表单值。两者都使用BeautifulSoup来解析“真实世界”(草率的标签汤)HTML。(对于您在野外遇到的HTML,强烈建议这样做,对于您自己编写的HTML,强烈建议您不要使用这种方法,因为您编写的HTML应该通过标准一致性、验证和解析器)。

相关问题 更多 >