登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 电子信息类 > 电子科学与技术 > 正文

基于python的微信好友数据分析系统毕业论文

 2020-02-17 23:24:50  

摘 要

随着智能手机的逐渐普及,生活中人们已经习惯了在网上通过各种通讯工具来进行沟通交流,而微信作为这类软件中的领头羊,已经逐渐成为我们生活中密不可分的一部分,微信不仅可以实现与其他人的即时交流,还可以通过朋友圈来分享你的所见所闻所想。在微信里,我们每个人都有一个属于自己的圈子,也就是你的朋友圈,他们中的每个人都有着不同的头像、签名、位置等信息,我们可以通过数据挖掘将这些信息整合成图表来分析以便得出结论,如何进行数据挖掘是一个问题,而python可以很方便地解决这个问题。

本设计通过python中的itchat模块来获取微信上的好友数据并整合这些信息,首先直接提取性别和地区信息,然后通过matplotlib模块作图直观地显示出来,接着通过jieba模块对签名进行中文分词处理,再分别通过wordcloud和snownlp模块对这些词进行词云展示和情感分析,最后将好友们的头像下载到本地,通过腾讯优图云提供的人脸检测服务进行检测并作图显示出结果。以上就完成了对好友性别、位置、签名、头像四个角度的分析。

本次设计主要使用python这一脚本语言,由于python提供了非常丰富且实用的第三方库,因此本设计也较为简单地实现了基本要求,达到了预期的目标。

关键词:微信;数据挖掘;数据分析;python

Abstract

With the gradual popularization of smart phones, people have become accustomed to communicating through various communication tools on the Internet. As a leader in this kind of software, WeChat has gradually become an inseparable part of our lives. WeChat not only can realize instant communication with other people, but also can share what you see and how you feel to your friends. In WeChat, each of us has a circle of our own, that is, your circle of friends. Each of them has different profile pictures, signatures, locations. etc. We can integrate this information into statistics by data mining, then we can draw a conclusion. How to perform data mining is a problem, and python can easily solve it.

This design uses the itchat module in python to obtain the data of friends on WeChat and integrate the information. Firstly, the gender and region information are directly extracted, then visually displayed by the matplotlib module, and the Chinese word segmentation of the signature is performed by the jieba module, then use the wordcloud module and the snownlp module to display word cloud and sentiment analysis respectively. Finally, the profile pictures are downloaded to the localhost, then the face detection service provided by Tencentyoutuyun is used and plot the results. Therefore, I finished the analysis of four different aspects.

This design mainly uses the scripting language python. Since python provides an abundant and practical third-party library, so this design achieves the basic requirements and the expected goals easily.

Keywords: WeChat; Data Mining; Data Analysis; Python

目录

摘 要 I

Abstract II

第1章 绪论 1

1.1 研究背景及意义 1

1.2 国内外研究现状 1

1.3 论文主要工作内容 3

1.4 论文组织结构 3

第2章 网页数据采集与数据挖掘 4

2.1 web数据采集基础 4

2.1.1 web数据采集 4

2.1.2 web数据采集的原理和方法 4

2.1.3 web防止数据采集 5

2.2 web数据挖掘基础 5

2.2.1 web数据挖掘 5

2.2.2 web数据挖掘分类 6

2.2.3 web数据挖掘流程 7

2.2.4 web数据挖掘算法 7

第3章 基于python的数据挖掘技术 9

3.1 python简介 9

3.2 python数据挖掘简介 9

3.3 本次设计用到的python库简介 9

3.3.1 itchat库简介 9

3.3.2 matplotlib库简介 9

3.3.3 re库简介 9

3.3.4 jieba库简介 10

3.3.5 snownlp库简介 11

3.3.6 worldcloud库简介 11

3.3.7 tencentyoutuyun库简介 11

第4章 基于python的微信好友数据分析 12

4.1 系统开发环境 12

4.2 pycharm简介 12

4.3 系统整体概要设计 13

4.4 数据获取 14

4.5 数据处理 15

4.5.1 性别比分析 15

4.5.2 位置分析 15

4.5.3 签名分析 16

4.5.4 头像分析 16

4.6 结果显示 17

4.6.1 性别比分析结果 17

4.6.2 位置分析结果 18

4.6.3 签名分析结果 18

4.6.4 微信好友头像分析 20

第5章 总结与展望 21

5.1 工作总结 21

5.2 工作展望 21

参考文献 22

致 谢 23

第1章 绪论

1.1 研究背景及意义

伴随着网络技术的迅速发展,互联网已逐渐成为人们生活中不可缺少的角色,互联网的发展使得人们即使相隔万里都可进行即时通信。根据《中国互联网络发展状况统计报告》统计,截至2018年12月,我国网民规模达到8.29亿,全年新增网民为5653万,互联网普及率为59.6%,其中使用手机接入互联网的比例高达98.3%。根据调查显示,在互联网应用的分类中,社交媒体有着绝对的优势,2018年以中国为主要市场的app微信的全球用户数量已经达到10亿,有着成千上万的网友每天活跃在其中。每一个微信用户都有着只属于自己的圈子,圈子的概念早在谷歌公司推出google 的时候就已经被提出了,这也是符合人们习惯的人性化设计,用户可以在圈子里分享文字、图片等一系列可以用来表达心情或者感情的事物,如果能根据微信好友们的信息,挖掘出部分数据进行分析,就可以得出一些相应的结论。

数据挖掘是一个非常有前景的学科,是关于数据和网络编程技术相结合的应用,是多个学科相结合的一个全新的领域,它深深地依赖于信息技术[1]。数据挖掘已经逐渐成为信息决策领域最前沿的研究方向,因为其展现的巨大商业前景,使得学术界和工业界广泛关注。数据挖掘的应用领域非常多,可应用于金融业、电信业、零售业以及各种科学应用。本次设计基于python语言来进行数据挖掘和分析工作,由于python本身拥有的一些脚本语言的特性,例如python拥有海量的第三方库,而且易于调用,使得数据挖掘和数据分析的工作变得快捷而方便,而且python本身的语法相较于其他语言也更容易让人理解,因此也更加便于维护系统,随着python近年来在大数据和人工智能领域大放异彩,以后会出现更多实用的第三方模块,为数据挖掘和数据分析提供便利[2]

不同于微博等内容分享平台的是,微信朋友圈内的好友大多数都是认识的朋友,从这个角度来看,人们常说物以类聚,人以群分,如果能根据微信好友们的信息,挖掘出部分数据进行分析,就可以得出一些相应的结论,并且这对于社交网络的运营也有着很大的帮助,通过每个用户圈子中不同类型的好友组成,可以做出某些适当的决策,调整微信的用户体验,使得微信的功能更加人性化。

1.2 国内外研究现状

在过去的几十年期间,计算机的硬件条件迅猛发展,随着计算机功能的日益强大,存储媒介也不断更新,大力推动了信息产业和数据库领域的发展,使人类所拥有的数据的数量急剧增加,可以说是以几何倍数在增长,因此,数据挖掘的技术需求就出现了,人们急需一个可以分析如此海量数据的技术。

以往传统的数据库系统仅仅是对数据库的已经存在的数据进行增加、删除、修改等基本操作,通过这些简单的操作只能获得整个数据库所包含的信息中很小的一部分,并且很难发现隐藏在数据背后的某些模式或者整体的特征,这就激发催生了数据挖掘这一重要技术,因此,数据挖掘的产生是信息技术发展的必然结果。

在国外,提到数据挖掘就不得不谈到与其极为相似的名词——KDD,也就是从数据库发现知识,该术语第一次被提出是在1989年8月在底特律召开的国际人工智能联合会议专题讨论会,在1993年以后,美国计算机协会每一年都会召开会议探讨数据挖掘相关技术,该会议的规模也逐渐以前的研讨会发展成为现在的国际学术大会,并且注重多种学科之间的渗透和相关技术的集成[3]

经过十几年的发展,数据挖掘技术已经取得了巨大的成功,目前国外数据挖掘在对发现知识的方法这方面有了进一步的研究,比如注重对Bayes算法及Boosting方法的改进,传统的统计学方法在KDD的应用,例如生物学上用数据挖掘来对DNA展开分析,还可以对客户的购买行为进行分析,对于保险公司和银行常常发生的诈骗事件进行预测,BM公司开发的AS系统可以针对NBA比赛数据给教练提供帮助。很多互联网公司和研究机构都很重视数据挖掘的相关研究,美国微软公司和IBM公司都成立了数据研究中心,加快了数据挖掘及相关技术的发展。

相比于国外,我国对数据挖掘技术的研究起步晚了一些,国内正式开展数据挖掘的研究是在1993年,中科院合肥分院是第一家得到自然科学基金的支持去做数据挖掘技术的研究机构,从此开始了国内的数据挖掘相关研究。数据挖掘的研究在国内引起了广泛的关注,不过主要是由高校和研究所在开展这方面的研究,复旦大学的施伯乐教授带领小组开发了数据挖掘的工具集AMNER,清华大学的周立柱教授带领的数据挖掘研究小组,云南大学的王丽珍教授针对不确定的数据挖掘研究小组,四川大学的唐常杰教授带领的时间序列方面的数据挖掘小组,都取得了很多研究成果。相较于国外,在相关理论上的研究仍有较大差距,主要是由于我国的研究起步更晚,仍处于高速发展阶段,但是两者之间的差距正在逐步缩小。

最近几年,数据挖掘技术已经成为计算机行业的热门话题之一,并且随着python技术和社区的不断完善,python及其提供的各种代码库使得用户拥有强大的科学计算的能力,在python社区还有源源不断地支持数据挖掘各项技术的第三方库,这就让python逐渐成为数据挖掘中最热门的编程语言之一[4]。本次设计正是使用python与其中的多种第三方库提供的强大功能,进行微信好友的数据挖掘及分析。

1.3 论文主要工作内容

本文研究了在微信中关于好友信息的数据挖掘的应用。本文所研究的分析对象是微信朋友圈子,用python提取微信好友中的四项数据,然后采用数据挖掘的基于TF-IDF算法和人脸识别的技术对好友数据进行分析并以图表的方式显示。以下是论文具体的工作内容:

1. 数据的采集与储存。通过特定的模块对好友数据进行爬取,采集到信息后,以python特定的数据类型存入到字典中。

2. 性别比和位置分析。遍历整个字典,先提取性别以及省份地区信息,传入到绘图模块matplotlib作出饼状图和柱状图。

3. 签名及签名情感分析。再次遍历字典,提取出所有的签名文本,然后对数据进行预处理,对于空的数据、无效的数据等错误的数据进行剔除,经过这些步骤以后就可以进行词云展示和情感的分析了。

4. 人脸头像分析。通过第三方模块itchat的方法get_head_img可以直接得到所有好友的头像,然后保存到本地主机,再由腾讯优图云提供的python版本的SDK接入到程序中,使用人脸检测服务,最后同样是作图显示出来即可。

1.4 论文组织结构

本文一共分为五章,具体的组织结构如下:

第一章是绪论,主要介绍本次设计的研究背景及意义、国内外的研究现状和本次设计期间的主要工作内容,最后说明本文的章节安排。

第二章是介绍web数据采集和数据挖掘的原理及方法,重点介绍了数据挖掘相关技术。

第三章首先简单介绍了python语言以及python在数据挖掘领域的应用,着重介绍了本次设计所涉及的几种python第三方库。

第四章是介绍如何具体实现本次设计要求的,以及展示最后输出的结果。

第五章是对本次设计所完成的工作的一个小结,还有对于本次设计的反思与展望。

第2章 网页数据采集与数据挖掘

2.1 web数据采集基础

随着互联网技术日新月异的变化,互联网已经成为世界上最大的共享数据库,并且用户数还在不断地增长,这也更加促进了整体的数据量增长,因此,互联网已成为最重要的信息资源,并应用在人类的方方面面。至于如何有效并快速地利用这些信息则成为一件非常有实际意义的事情,可以把所需要的数据提取出来再通过数据挖掘来分析。

2.1.1 web数据采集

互联网中各种网页的结构有着很大的不同,重要的是网页中的内容也有很大的多样性,互联网的规模仍然在不停地增长,使用信息技术从网页中获取有价值信息的需求日益增多。网页数据采集指的是有针对性的采集网页上的数据,然后根据某种特定的规则和标准进行筛选、分类,最后组成数据库的过程[5]。一个基本的网页由文本、图片、视频和声音等各种元素组成。网页基本可分为两大类,一个是静态网页,另一个是动态网页,静态网页被写完上传到服务器以后,不管是否被访问到,网站的内容只存储在服务器,这是因为其中的每个单独的网页都有自己独立的且无法改变的统一资源定位符。动态网页则不同,它是基于数据库技术,动态产生的网页。当收到用户的访问请求时候,服务器端运行某种程序生成动态的网页不会直接存储在网页文件里。与静态网页相比,动态网页可实现的功能更加丰富,例如注册、查询、登陆等功能,而且这些动态信息不会被通常的网页处理方法完全获取,所以目前有越来越多的静态网页正在向动态网页转变。时下非常流行的社交网络用的就是动态网页技术,而网页的数据大多是用户的数据信息和言论,有很重要的分析价值。

2.1.2 web数据采集的原理和方法

相同网站的同种数据所表示的HTML结构有很大的相似性,尤其是数量很大的时候,常常采用的都是动态网页技术产生的或者是同一个模板,然后再通过HTML的格式显示出来。因此,数据采集的对象是语言结构相似的web网页,比如网页的大标题在代码某处采用的CSS是一样的。恰恰因为代码的规律性提供了web数据采集的可能性。

随着研究的逐渐深入,web数据采集及其相关的技术有了巨大的发展。依据定位web用户比较感兴趣的数据和原理的差异,可对web数据采集和系统分类,其中主要有:基于web本体的数据采集、基于本体位置的数据采集、基于自然语言处理的web数据采集、基于特定规则的数据采集。

web数据采集的过程有:第一步,分析网站结构并找出网页分页的特点;第二步,爬取网页内容并从中分离出来;第三步,进行数据处理工作再将处理后的数据放入数据库。

2.1.3 web防止数据采集

对web网页进行数据采集有可能会造成用户信息的泄露,很多网站会采取一些防止采集的办法。

通常可采取两种办法来防止web数据采集:采取技术手段尽可能限制采集者访问或读取所需要的内容,或者是对这些内容做特殊处理使得采集的难度大大增加,从而让数据即时被采集到,这些数据也不能被轻易使用。

1.根据该IP在某一段时间访问网站的次数,如果次数过多就拒绝这个IP的访问。这个办法只能应用于动态网页,静态网页因为不能判断出该IP一定时间内访问的次数,这个办法对爬虫有很大的影响,因为爬虫的速度非常快,因此会拒绝爬虫的访问。

2.静态网页防止web数据采集可以通过JavaScript给网页的内容加密,这种方法对爬虫也有着较大影响,很容易爬取到加密后的内容。

3.只允许用户登陆后才能查看内容,这对爬虫有着不小的限制。

4.随机将所需的内容标记,每一个网页的模块加上不同的标记,比如有的web网页采取CSS DIV结构,还有的就用TABLE结构,只是这样做的工作量会增大不少,网页的结构越具有多样性,对于数据采集来说就越不好实现。

2.2 web数据挖掘基础

2.2.1 web数据挖掘

web数据挖掘最早可追溯到1996年,也被人们称为:web知识发现、web信息挖掘等。

web数据挖掘又叫web挖掘,是web技术与数据挖掘技术相结合后产生的新技术。该技术在复杂的网页信息中爬取出有用的数据,通过数据分析之后挖掘出潜在的价值,呈现出的结果可以用来评估现状,还可以预测未来的行为走向,有很大的商业价值[6]

根据web自身的特性,web数据挖掘具有以下特征:

1.复杂。因为web数据类型多样且复杂,在这个网络快速发展的年代,每个行业的数据又各有特点,存储形式也是各不相同,有文本、图像、音频等类型,所以,快速而且准确地获取数据是首先要确保的。

以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。

相关图片展示:

C:\Users\52368\Desktop\整体框图.jpg

C:\Users\52368\Desktop\登录流程.jpg

C:\Users\52368\Desktop\签名分析.jpg

C:\Users\52368\Desktop\下载头像.jpg

C:\Users\52368\PycharmProjects\design\analysesex.jpg

您需要先支付 50元 才能查看全部内容!立即支付

微信号:bysjorg

Copyright © 2010-2022 毕业论文网 站点地图