摘 要
网络爬虫是一个非常注重实践性而且实用性很强的编程技能,它不是程序员的专属技能,任何具有一定编程基础的人都可以学习爬虫,写爬虫分析股票走势,上链家爬房源分析房价趋势,爬知乎、爬豆瓣、爬新浪微博、爬影评,等等。人工智能时代,对数据的依赖越来越重要,数据主要的来源就是通过爬虫获取,通过爬取获取数据可以进行市场调研和数据分析,作为机器学习和数据挖掘的原始数据。
本文基于 Python 对微信好友进行数据分析,这里选择的维度主要有:性别、头像、签名、位置,主要采用图表和词云两种形式来呈现结果。同平时登录网页版微信一样,我们使用手机扫描二维码就可以登录,这里返回的friends对象是一个集合,第一个元素是当前用户。
关键词:网络爬虫;Python;朋友圈
Abstract
Web crawler is a very practical and practical programming skills, it is not the exclusive skills of programmers, anyone with a certain programming base can learn crawler, write crawler analysis stock trends, Lianjia crawled house price trends, crawling know, climb pea petal, Sina climber Weibo, climbing film review, and so on. In the era of artificial intelligence, the dependence on data is becoming more and more important. The main source of data is crawler acquisition, which can be used for market research and data analysis as the original data for machine learning and data mining.
This paper analyzes the data of WeChat friends based on Python. The main dimensions selected here are: gender, image, signature, location, mainly using two forms of chart and word cloud to present the results. Like WeChat, we use our mobile phone to scan the QR code. The friends object returned here is a collection, and the first element is the current user.
Keywords: Web crawler Python; circle of friends
目录
摘 要 1
Abstract 2
1 绪论 4
1.1 选题背景 4
1.2 研究意义 6
1.3 论文主要研究内容及组织结构 7
1.3.1主要研究内容 7
1.3.2论文组织结构 8
2 关键技术和理论基础综述 9
2.1 社交网络 9
2.1.1 社交网络的概念 9
2.1.2 社交网络特点 11
2.1.3 社交朋友圈关系数据分析动机 12
2.1.4 社交网络主要研究方向 13
2.2 朋友圈关系数据分析 14
2.2.1朋友圈关系数据分析研究现状 14
2.2.2本文对社交朋友圈关系数据分析的定义 15
2.3 聚类分析 16
2.3.1聚类定义 16
2.3.2聚类分析过程 17
2.3.3主要聚类分析方法 17
2.4 技术方法框架 18
3 基于网络爬虫技术的数据采集 19
3.1 网络爬虫工作原理 19
3.1.1 网络爬虫基本工作原理 19
3.1.2 URL存在形态分析 20
3.2 定向爬虫定制 23
3.2.1通过wireshark抓包法分析HTTP协议 23
3.2.2分析网站行为 24
3.2.3正则表达式设计 25
3.3代码设计 26
3.3.1 UID获取 26
3.3.2以CSV格式对数据进行输出 29
3.3.3 爬虫设计过程中克服的技术难点 29
4 微信朋友圈关系数据聚类分析 32
4.1 数据预处理 34
4.1.1数据格式标准化处理 34
4.1.2通过SPSS描述数据特征 36
4.1.3通过SPSS离散化数据 37
4.2聚类分析 39
4.2.1聚类算法选取 39
4.2.2 EM算法参数设置 41
4.3 聚类结果分析 42
4.3.1EM算法结果 42
4.3.2结果分析 44
5结束语 46
5.1 全文总结 46
5.2 进一步研究的问题 46
参考文献 48