今天是第一天记录学习博客,希望以此来激励自己每天都要学一点写一点,长此以往,观察变化。
今天的主要学习内容是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