《Head First Python》读书笔记2-字符串
?
第二章的主要内容关于字符串,也就是文本数据,书中通过一个分析HTML的例子来进行讲解,完整的业务场景如下:CEO想要买咖啡豆,咖啡豆的价格在网址http://beans.itcarlow.ie/prices.html上,话说书中的网址居然都过期了,还是google到的这个网址,而CEO只希望当价格低于$4.74时才购买。
?
书中代码是python 3,我进行了适当修改,迁移到python 2.7上,具体代码如下:
?
?
#!/usr/bin/pythonimport urllibimport timeprice=5while 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。
?