python urllib 庫
阿新 • • 發佈:2017-06-20
由於 con items name html png aid post work
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 庫