数据处理
这里主要说一下处理超话的那些文字,主要采用正则
爬取下来的数据分为两个部分
1、排名
2、阅读,帖子,粉丝
排名
排名,不管是是什么排名都是“XX榜No.xx",如果想要完整的,就直接不处理,毕竟榜单都不一样,留着也不错,我本人就没处理,如果只想要排名
import re
rank = re.match('.*榜No\.(\d*)', text).group(1)
text为爬取的文本,即“XX榜No.xx",rank为排名具体数字
阅读,帖子,粉丝
因为这三个部分写在了一起,可以同时提取出来
result= re.match('阅读(\d*.{0,1}\d*[\u4E00-\u9FA5]+).*帖子(\d*.{0,1}\d*[\u4E00-\u9FA5]+).*粉丝(\d*.{0,1}\d*[\u4E00-\u9FA5]+)', nums)
read = result.group(1)
tiezi = result.group(2)
fans = result.group(3)
后记
这样获取到的结果后面是有单位的,比如粉丝多少万,浏览多少亿,如果想要把单位换成纯数字,就可以设置一个判断,获取那个字符,让对应数字乘多少倍,如果想要具体数字,而不是这种精确到万这种的,那就要去爬取网页版本了。