微博粉丝走势监控-数据处理

数据处理

这里主要说一下处理超话的那些文字,主要采用正则

爬取下来的数据分为两个部分

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)
           

后记

这样获取到的结果后面是有单位的,比如粉丝多少万,浏览多少亿,如果想要把单位换成纯数字,就可以设置一个判断,获取那个字符,让对应数字乘多少倍,如果想要具体数字,而不是这种精确到万这种的,那就要去爬取网页版本了。

猜你喜欢

转载自blog.csdn.net/fuzizhu1/article/details/107712931