urllib庫的使用,非常簡單。 只要幾句代碼就可以把一個網站的源代碼下載下來。 官方文檔:https://docs.python.org/2/library/urllib2.html urllib2.urlopen(url[, data[, timeout[, cafile[, capath[, ...
urllib庫的使用,非常簡單。
import urllib2 response = urllib2.urlopen("http://www.baidu.com") print response.read()
只要幾句代碼就可以把一個網站的源代碼下載下來。
官方文檔:https://docs.python.org/2/library/urllib2.html
urllib2.
urlopen
(url[, data[, timeout[, cafile[, capath[, cadefault[, context]]]]])
urlopen 只要用到前面3個參數,url, data:提交的數據. timeout:超時
也可以這樣使用:
import urllib2 request = urllib2.Request("http://www.baidu.com") response = urllib2.urlopen(request) print response.read()
這種用法比較常見。
我們用php創建一個表單,然後用urllib2模擬表單提交
<!doctype html> <html> <head> <meta charset="utf-8" /> </head> <body> <?php if( isset( $_REQUEST['submit'] ) ) { $username = $_REQUEST['username']; $userpwd = $_REQUEST['password']; if( $username == 'ghostwu' && $userpwd = 'abc123') { echo "login success"; }else{ echo "login error"; } } ?> <form action="/index.php" method="get"> username: <input type="text" name="username" /><br/> password: <input type="password" name="password" /><br/> <input type="submit" value="submit" name="submit" /> </form> </body> </html>
接下來,我們先用get方式提交【備註:功能變數名稱是我本地的,你需要用本地host映射,相應的伺服器功能變數名稱和ip】
#coding:utf-8 import urllib import urllib2 values = { "username" : "ghostwu", "password" : "abc123", "submit" : "submit" } data = urllib.urlencode( values ) url = "http://mesite.ghostwu" + "?" + data request = urllib2.Request( url ) response = urllib2.urlopen( request ) print response.read()
執行之後,如果把用戶名或者密碼該錯,就會出現login error.
post提交方式,當然你要把php表單改成post提交.
#!/usr/bin/python #coding:utf-8 import urllib import urllib2 values = { "username" : "ghostwu2", "password" : "abc123", "submit" : "submit" } data = urllib.urlencode( values ) url = "http://mesite.ghostwu" request = urllib2.Request( url, data ) response = urllib2.urlopen( request ) print response.read()