以后可能要用到这方面的东西,所以先实践一下,比如抢火车票。
第一步:本地搭建一个程序, 如下,代码很丑陋,别笑
主要就是一个用户名,一个密码框,和一个提交按钮
<html>
<head><title>Example</title></head>
<body>
<?php
if (isset($_POST["username"])) {
echo "you password is " . $_POST["pwd"];
}
else {
echo "no!";
}
?>
<form name = "myform" action = "" method = "post">
<label>用户名:</label><input type="text" name = "username"></input></br>
<label>密码</label><input type="password" name = "pwd"></input></br>
<input type="submit" name = "ok"></input>
</form>
</body>
</html>
第二步: 使用工具分析浏览器提交的工具,可以用抓包工具。我使用的是火狐浏览器,本身就提供有这样的工具:
选择开发者工具,WEB开发者-》WEB控制台-》网络
第三步:写python代码,我也是谷歌找来的,如下
# -*- coding: utf-8 -*-
import re
import urllib
import urllib2
import cookielib
cj = cookielib.CookieJar()
#我们post的表单数据
post_data = urllib.urlencode({'username': 'hhq','pwd': '1000'})
#登录路径
path = 'http://localhost:81/'
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.addheaders = [('User-agent', 'Mozilla/5.0 (Windows NT 6.1; rv:20.0) Gecko/20100101 Firefox/20.0')]
urllib2.install_opener(opener)
req = urllib2.Request(path, post_data)
conn = urllib2.urlopen(req)
print urllib2.urlopen(req).read()
到这里,print 出来的就是提交表单后的网页。