Python3 知乎回答爬取+数据文本分析——如何判断一个人是否喜欢你 项目实战结论及步骤笔记
目录
实现思路及准备
**实现思路**
1.利用知乎爬取回答 存入数据库
2.从数据库提取数据 过滤清洗
3.词频统计,文本分析,做词云图,得结论
**准备:**
Python3、Mysql8.0、mysqlworkbench
所需库:pymysql、json、requests、jieba、re、wordcloud、
爬取知乎动态页面存入数据库
一、爬取
1.先点查看全部回答——F12——network——刷新页面——
2.点击一个文件——preview ——找到一个文件类似这样 展开data里面有回答的就是(一般是answers开头的一个文件)——点旁边headers——复制它的Url
3.到浏览器中打开——修改offset= 这里就可以改变页数
然后就可以用requests库,对页面进行爬取了
这里记得加headers请求头 否则会报错
二、存入
1.在workbench中创建表 把answerer_name设置为主键 ,因为发现更改offset=后的页面会有许多重复回答
29.30行的定位需要把页面代码(json格式)去百度在线格式化一下 就可以找到定位的地方了
这里31行的sql语句是 replace into 且以answerer_name为主键 避免重复输入
2.输出结果, 这里一共爬了九百多条
三、导出数据
1.export
2.文件格式修改==(如果想用excel保存的话再做)==
(1)直接用excel打开会乱码
(2)先用记事本打开——另存为 选择ANSI编码——保存
再将新文件用excel方式打开就可以了
数据文本筛选、清洗
一、用正则去除数据中多余部分
二、jieba分词,去除滥用词等
这里我把字典直接打在代码里了 大家可以写成文档再导入
代码后面有每步的注释
词频结果及词云图
一、词频输出的结果
因为后面的词意义不大 所以就提取到这里
二、词云图
1.代码
2.词云图
文本分析结论
根据回答者的词频统计的个人解释:
1.喜欢你的人主动的次数肯定多
2.喜欢你的人说“一起…吧”的话1定多
3.从跟你聊天的次数、频率自己想去吧
4.ta的眼神会告诉你
5.肯定会关心你
6.拒绝的次数肯定少
多说一句
如果根据大家恋爱前的聊天记录分析 肯定更准 我不介意你们打包发给我
不过我也没报多大希望,毕竟你们都没有对象。⁄(⁄ ⁄ ⁄ω⁄ ⁄ ⁄)⁄
上一篇: 一年中的第几天
下一篇: pythonQQ连连看秒杀脚本