《Head First Python》读书笔记二-字符串

《Head First Python》读书笔记2-字符串

 

第二章的主要内容关于字符串,也就是文本数据,书中通过一个分析HTML的例子来进行讲解,完整的业务场景如下:CEO想要买咖啡豆,咖啡豆的价格在网址http://beans.itcarlow.ie/prices.html上,话说书中的网址居然都过期了,还是google到的这个网址,而CEO只希望当价格低于$4.74时才购买。

 

书中代码是python 3,我进行了适当修改,迁移到python 2.7上,具体代码如下:

 

 

#!/usr/bin/python

import urllib
import time

price=5
while price>4.74:
	time.sleep(1*60)
	page=urllib.urlopen("http://beans.itcarlow.ie/prices.html")
	text=page.read().decode("utf_8")
	price=float(text.split("<strong>$")[1].split("</strong>")[0])
        #where = text.find('>$')
        #start_of_price = where + 2
        #end_of_price = start_of_price + 4
        #price = float(text[start_of_price:end_of_price])

print(price)

 

这段代码引入了两个第三方包,一个是urllib,用于url操作,一个time,用于定时操作,依然没有难度,通过指定


的url获得该页面的内容,然后对内容进行解析,获取想要的数据,我在这里改成了通过split的方法来对大字符串来切割,


书里是通过字符串所在的索引来进行查找,两种方法都不是很好,因为都涉及到了具体的索引,代码不够干脆,注释为书中内容,


只能用一个字形容,挫,当然我的也好不到哪去,最好的方法应该是通过正则表达式来完成,限于目前了解有限,暂时先这样。


在循环的最开始,引入了time的sleep方法,作用就是让当前线程休眠,与Java的线程的sleep类似。


对于字符串数据来说,很多常用的概念都是类似的,比如说截取,如书中代码,根据给定的前后索引去获得子串,


具体的内容可以查询python的API。