標籤:ima encode arm filename gif tuple ESS 產生 message
urllib模組中的方法1.urllib.urlopen(url[,data[,proxies]])
開啟一個url的方法,返回一個檔案對象,然後可以進行類似檔案對象的操作。本例試著開啟google
>>> import urllib>>> f = urllib.urlopen(‘http://www.google.com.hk/‘)>>> firstLine = f.readline() #讀取html頁面的第一行>>> firstLine‘<!doctype html><html itemscope="" itemtype="http://schema.org/WebPage"><head><meta content="/images/google_favicon_128.png" itemprop="image"><title>Google</title><script>(function(){\n‘
urlopen返回對象提供方法:
- read() , readline() ,readlines() , fileno() , close() :這些方法的使用方式與檔案對象完全一樣
- info():返回一個httplib.HTTPMessage對象,表示遠程伺服器返回的頭資訊
- getcode():返回Http狀態代碼。如果是http請求,200請求成功完成;404網址未找到
- geturl():返回請求的url
2.urllib.urlretrieve(url[,filename[,reporthook[,data]]])
urlretrieve方法將url定位到的html檔案下載到你本地的硬碟中。如果不指定filename,則會存為臨時檔案。
urlretrieve()返回一個二元組(filename,mine_hdrs)
臨時存放:
>>> filename = urllib.urlretrieve(‘http://www.google.com.hk/‘)>>> type(filename)<type ‘tuple‘>>>> filename[0]‘/tmp/tmp8eVLjq‘>>> filename[1]<httplib.HTTPMessage instance at 0xb6a363ec>
存為本地檔案:
>>> filename = urllib.urlretrieve(‘http://www.google.com.hk/‘,filename=‘/home/dzhwen/python檔案/Homework/urllib/google.html‘)>>> type(filename)<type ‘tuple‘>>>> filename[0]‘/home/dzhwen/python\xe6\x96\x87\xe4\xbb\xb6/Homework/urllib/google.html‘>>> filename[1]<httplib.HTTPMessage instance at 0xb6e2c38c>
3.urllib.urlcleanup()
清除由於urllib.urlretrieve()所產生的緩衝
4.urllib.quote(url)和urllib.quote_plus(url)
將url資料擷取之後,並將其編碼,從而適用與URL字串中,使其能被列印和被web伺服器接受。
>>> urllib.quote(‘http://www.baidu.com‘)‘http%3A//www.baidu.com‘>>> urllib.quote_plus(‘http://www.baidu.com‘)‘http%3A%2F%2Fwww.baidu.com‘
5.urllib.unquote(url)和urllib.unquote_plus(url)
與4的函數相反。
6.urllib.urlencode(query)
將URL中的索引值對以串連符&劃分
這裡可以與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()
POST方法:
>>> import urllib>>> parmas = urllib.urlencode({‘spam‘:1,‘eggs‘:2,‘bacon‘:0})>>> f=urllib.urlopen("http://python.org/query",parmas)>>> f.read()
Python urllib模組