本文用Python抓取QQ群论坛中的发贴、留言数据,以此构成社交关系数据,再进行数据处理,最后用Gephi绘制社交关系网络图。数据源选取的是QQ群论坛(一个收费的成长学习论坛,论坛沉淀了一年的数据)。
步骤:
1)分析人物关系,确认数据抓取方式
2)编写Python程序抓取人物关系数据
3)数据清洗,汇总
4)数据导入Gephi,调整参数绘制
一、分析页面,确定抓取构成人物关系的数据源
社交关系网络的构成是节点和边,人物就是节点,边(连线)即是关系。这个论坛采用的是一人一个主题贴,盖楼的方式记录学习成长,其他人在主题贴下回复,回复即互动。
节点,就是论坛中的参与者(成长会成员)。回复构成连接,回复多即关系强(互动多,weight数值大)。
所以在抓到数据时,就是抓取发贴数量,回复人即可,即把页面所有发表主题贴和回复贴的用户名进行抓取即可,再进行数据汇总统计,就构成社交关系数据(source — 发贴人, target — 回复者, weight — 发贴人与回复者互动次数)
发贴与回复
二、Python爬虫抓取数据
采用Scrapy框架编写爬虫抓取数据:
1)论坛登录问题,用Cookie登录比较简单。参见之前的文章《Scrapy用Cookie实现模拟登录》
2)注意,论坛中主题贴,他