位置: 编程技术 - 正文

python实现爬虫统计学校BBS男女比例之数据处理(三)(python爬虫过程)

编辑:rootadmin

推荐整理分享python实现爬虫统计学校BBS男女比例之数据处理(三)(python爬虫过程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python进行爬虫,python爬虫过程,python进行爬虫,利用python进行爬虫,pythone爬虫,python进行爬虫,pythone爬虫,python爬虫系统,内容如对您有帮助,希望把文章链接给更多的朋友!

本文主要介绍了数据处理方面的内容,希望大家仔细阅读。

一、数据分析

得到了以下列字符串开头的文本数据,我们需要进行处理

二、回滚

我们需要对httperror的数据进行再处理

因为代码的原因,具体可见本系列文章(二),会导致文本里面同一个id连续出现几次httperror记录:

所以我们在代码里要考虑这种情形,不能每一行的id都进行处理,是判断是否重复的id。

java里面有缓存方法可以避免频繁读取硬盘上的文件,python其实也有,可以见这篇文章。

本代码为了简便,没有再把httperror的那些id分类,直接存储为下面这5个文件里

可以看下输出Log记录,总共处理了多少个httperror的数据。

三、单线程统计unkownsex 数据

代码简单,我们利用单线程统计一下unkownsex(由于权限原因无法获取、或者该用户没有填写)的用户。另外,经过我们检查,没有性别的用户也是没有活动时间的。

数据格式如下:

python实现爬虫统计学校BBS男女比例之数据处理(三)(python爬虫过程)

处理速度很快,输出如下:

四、单线程统计 correct 数据

数据格式如下:

代码如下,实现思路就是一行一行读取,利用line.split()获取性别信息。sumCount 是统计一个多少人,boycount 、girlcount 、secretcount 分别统计男、女、保密的人数。我们还是利用unicode进行正则匹配。

注意,我们输出的是截止某个文件的统计信息,而不是单个文件的统计情况。输出结果如下:

五、多线程统计数据

为了更快统计,我们可以利用多线程。 作为对比,我们试下单线程需要的时间。

输出

我们发现时间和单线程差不多。因为这儿涉及到线程同步问题,获取锁和释放锁都是需要时间开销的,线程间切换保存中断和恢复中断也都是需要时间开销的。

六、较多数据的单线程和多线程对比

我们可以对correct、errTime 、unkownsex的文本都进行处理。 单线程代码

输出为

Single Thread, total is ; boys; girls; secret; unkownsex;cost time 1. s

多线程代码

输出为

Multi Thread, total is ; boys; girls; secret;cost time 1. s可以看出多线程还是优于单线程的,由于使用的同步,数据统计是一直的。

注意python在类内部经常需要加上self,这点和java区别很大。

total is ; boys; girls; secret; unkownsex;cost time 1. s

本文链接地址:https://www.jiuchutong.com/biancheng/379968.html 转载请保留说明!

上一篇:python实现爬虫统计学校BBS男女比例之多线程爬虫(二)(pythone爬虫)

下一篇:基于python的Tkinter实现一个简易计算器(基于Python的图书推荐系统)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络