今天是第一天记录学习博客,希望以此来激励自己每天都要学一点写一点,长此以往,观察变化。

今天的主要学习内容是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