今天是第一天記錄學習博客,希望以此來激勵自己每天都要學一點寫一點,長此以往,觀察變化。
今天的主要學習內容是Google-python-class的urllib module。
首先是urllib.urlopen()函數
ufile = urllib.urlopen('http://www.baidu.com/')
調用該函數產生一個類似於file類的對象,可以使用.read()或.readlines() 方法來讀取其保存的html源碼
text = ufile.read()
接下來還有對ufile這個對象進行
info = ufile.info() info 即是元素可提供相關頁面的元信息
2015-2-11
Date: Thu, 12 Feb 2015 14:37:02 GMT
Content-Type: text/html; charset=utf-8
Connection: Close
Vary: Accept-Encoding
Set-Cookie: BAIDUID=CCABA2C4257C0901E0F044050581E5DD:FG=1; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com
Set-Cookie: BAIDUPSID=CCABA2C4257C0901E0F044050581E5DD; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com
Set-Cookie: BDSVRTM=0; path=/
Set-Cookie: BD_HOME=0; path=/
Set-Cookie: H_PS_PSSID=1441; path=/; domain=.baidu.com
P3P: CP=" OTI DSP COR IVA OUR IND COM "
Cache-Control: private
Cxy_all: baidu+e8b185997a669690aa4e29b835dc5d41
Expires: Thu, 12 Feb 2015 14:36:39 GMT
X-Powered-By: HPHP
Server: BWS/1.1
BDPAGETYPE: 1
BDQID: 0xc3e96e6200019d9d
BDUSERID: 0
上邊這個就是百度頁面的meta-information
另外
info.gettype()
這個函數用來獲取網頁的content-type,如上例的:Content-Type: text/html
text/html:這個是網頁內容格式的默認形式,用於告訴瀏覽器這個網頁的內容是文本,使用html編碼,這樣可以使瀏覽器調用HTML解析器對網頁進行解析,並顯示。
ufile.geturl() .... 用來獲取ufile對象的基礎地址??之所以說是基礎地址,是因爲 有些網站會有重定向,這個方法就可以獲取重定向後的地址??
urllib.urlretrieve(url,filename) .... download the url data to given file path 將網絡內容下載到本地並保存在某一路徑下。
另外有一個urlparse module
該模塊的
urlparse.urljoin(baseurl, url) .... 可以連接絕對地址和相對地址
疑惑:對於ufile.geturl() 和 urlparse.urljoin(baseurl,url) 這兩個有疑問,到底什麼是基礎地址,後者的連接作用到底用在哪種情況下,待進一步思考。
2015.2.12