1.urllib.urlopen(url[,data[,proxies]])html
打開一個url的方法,返回一個文件對象,而後能夠進行相似文件對象的操做。本例試着打開baidupython
import urllibweb
f = urllib.urlopen('http://www.baidu.com')緩存
firstLine = f.readline() #讀取html頁面的第一行服務器
print firstLineide
urlopen返回對象提供方法:函數
read() , readline() ,readlines() , fileno() , close() :這些方法的使用方式與文件對象徹底同樣post
info():返回一個httplib.HTTPMessage對象,表示遠程服務器返回的頭信息編碼
getcode():返回Http狀態碼。若是是http請求,200請求成功完成;404網址未找到url
geturl():返回請求的url
urlretrieve方法將url定位到的html文件下載到你本地的硬盤中。若是不指定filename,則會存爲臨時文件。
urlretrieve()返回一個二元組(filename,mine_hdrs)
臨時存放:
#須要指定存放地址可用 filename = urllib.urlretrieve('http://www.baidu.com',filename='/path/baidu.html')
import urllib
filename = urllib.urlretrieve('http://www.baidu.com')
type(filename)
filename[0]
filename[1]
3.urllib.urlcleanup()
清除因爲urllib.urlretrieve()所產生的緩存
4.urllib.quote(url)和urllib.quote_plus(url)
將url數據獲取以後,並將其編碼,從而適用與URL字符串中,使其能被打印和被web服務器接受。
#屏蔽url中特殊的字符(包括中文),把須要編碼的字符轉化爲 %xx 的形式
urllib.quote('http://www.baidu.com')
urllib.quote_plus('http://www.baidu.com')
5.urllib.unquote(url)和urllib.unquote_plus(url)
與4的函數相反
6.urllib.urlencode(query)
將URL中的鍵值對以鏈接符&劃分
將dict或者包含兩個元素的元組列表轉換成url參數。例如 字典{'name': 'dark-bull', 'age': 200}將被轉換爲"name=dark-bull&age=200"
這裏能夠與urlopen結合以實現post方法和get方法:
GET 方法:
import urllib
params=urllib.urlencode({'spam':1,'eggs':2,'bacon':0})
#params'eggs=2&bacon=0&spam=1'
f=urllib.urlopen("http://python.org/query?%s" % params)
print f.read()