美文网首页工具程序员
【开源】爬取QQ空间说说及简易数据分析

【开源】爬取QQ空间说说及简易数据分析

作者: jerry_shenchao | 来源:发表于2016-04-18 17:37 被阅读1052次

简介

前几天,一直在学习爬虫,然后最近想到了一个不错的idea,想以这个小demo来结束爬虫的学习。

是这样的:登入qq空间,爬取自己或者好友的所有说说记录,然后区统计分析一共发了多少说说,每条说说的评论有多少,谁评论的最多,有多少赞,谁赞最多,还有可以找出你的qq好友中男女比例多少,来自哪里,什么星座等等。

思路

这里讲下具体思路,具体代码我托管到github,有兴趣的朋友可以去fork,https://github.com/jerry-sc/QQZone.git

这次爬虫并没有使用之前博客提到的scrapy,而是转向了JAVA,用的框架叫做webmagic。可能大家对这个框架比较陌生,毕竟这个出现也没多久,而且是一个大牛业余开发的,用的人也不是特别多,我也是偶然百度的时候搜到的。它的主页是http://webmagic.io 大家有兴趣可以看下,我个人觉得写得还是非常棒的,它也是模仿scrapy这一成熟框架起来的,如果你对java比较了解,遇到问题看看源码,会让你对爬虫的体系有更近一步的了解,如果你对scrapy比较了解,那么我想你只要掌握写基本的java语法知识,那么必会轻松掌握此框架。

QQ空间就像新浪微博一样,如果要实现模拟登入,你一定要花很多功夫去了解里面的加密技术等,这种高端技术吾等小白还有很长一段路要走,所以我这里用最笨的办法,就是登入后获取cookie然后手动填入请求头中。

简单的分析下网页源代码可以发现,qq的说说信息,都是js带过来的,所以这里要面对的是如何从js文件中抽取信息,好在webmagic的作者在其框架介绍里面写了一篇如何爬取动态网页的博客,收获实在是太多了,http://webmagic.io/docs/zh/posts/chx-cases/js-render-page.html 这是地址,即使你不用此框架也没事,相信看了后,定会对动态网页的爬取获得经验。关于爬取URL的说明,我这里也不多说了,大家可以结合我的代码看看(我承认代码有点乱,不过我非常欢迎大家和我交流,一个人闷头写代码,收获远不及大家讨论,这也是我写博客的重要原因)。

我将爬取到的数据,保存到mysql中,下面是四张表的截图,关于表的设计,我并没有对其进行规范化设计,只是将其作为数据保存。

实现

一、说说表(shuoshuo)



二、评论表(comment)



三、好友表(friend)

四、赞表(zan)


最后,是数据的分析,由于没学过什么聚类,分类等数据挖掘的算法等,所以我这里只是简单的对数据进行求和,排序等。最近在开始看数据挖掘算法之类的书,争取以后结合一些算法,对数据进行更深层次的挖掘。

成果展示的图表我这里用了一个叫jfreechart的图表生成插件,网上一搜,到处都是教程,这里也不做详细介绍了。直接上图吧。










That's All. 以上就是这个小demo的所有内容了,欢迎大家和我一起交流探讨。

欢迎访问我的网站:http://shenchao.me/

相关文章

网友评论

  • 94d265b365c7:log4j:WARN No appenders could be found for logger (us.codecraft.webmagic.scheduler.QueueScheduler). 这是怎么回事啊
    jerry_shenchao:@亚坤儿 我看看哈,好久没更新这个爬虫了,最近在读webmagic源码
    94d265b365c7:@jerry_shenchao 一运行都报这个错,然后就没了
    jerry_shenchao:@亚坤儿 我看那个报错信息好像是爬虫框架内的错误,你多爬几次试试
  • jerry_shenchao:谢谢哈 :blush:
  • 布拉豆:赞赞赞

本文标题:【开源】爬取QQ空间说说及简易数据分析

本文链接:https://www.haomeiwen.com/subject/bysalttx.html