最近学了python扒取网页论坛信息,其实python在处理字符串和文本时,其封装好的函数功能很强悍的,何以很方便的调用处理信息。废话不多说,我在爬取论坛信息时遇到一个回帖信息,上边二楼及以下楼层回帖信息上标注比如“2楼网友回复”“3楼网友回复”等等,我要获取楼层数,说白了就睡获取第一个字符,然后转换为int型就OK了,可是在网页源码中get_text(),扒取后获得的是 '2楼网友回复',是文本信息,我们可以用python里的repr()函数或str()函数,repr()返回的是一个对象的"官方"字符串表示(对python比较友好),绝大多数情况下可以通过求值运算(使用内建函数eval())重新得到该对象。即 obj= eval(repr(obj)),也有情况下,不能够通过eval()得到原来的对象,str() 生成一个对象的可读性好的字符串表示(对用户比较友好),它返回的结果通常无法用于eval()求值,但很适用于print语句输出。
再回到原来的问题,str1=“2楼回复”,str1.decode(‘utf-8’)进行解码,获得unicode形式的编码字符,然后repr(str1.decode(‘utf-8’))就实现了转换成了字符串形式,这时你可以用len函数求长度,获取其中某一个字符,对我而言我只需提取‘2’这个字符,int(repr(str1.decode(‘utf-8’)))转换成int型即可,运行结果见下附图。