你好,游客 登录 注册 搜索
背景:
阅读新闻

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

[日期:2016-04-21] 来源:简书  作者:jerry_shenchao [字体: ]

  简介

  前几天,一直在学习爬虫,然后最近想到了一个不错的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的所有内容了,欢迎大家和我一起交流探讨。





收藏 推荐 打印 | 录入:elainebo | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款