第一篇哦~~知乎问题答案分析
2017-04-02 20:49
197 查看
前言:我对数据分析很感兴趣,这是第一次尝试把自己的学习过程记录下来,希望能帮助到其他有类似想法的朋友少走一点弯路。
初步想法产生:我拜读了知乎-何明科老师的答案。其中他提到对一个行业兴衰的答案进行了分析。我看了他的分析,很感兴趣,想自己做着玩。
大的思路就是,分析已有的专业回答网站以及社区上的答案,得出一些有价值的分析。因为我现在直接去抓取全网的数据我也没有那个能力。反而我觉得分析一些问答网站,尽管他们已经是对他们的原始信息的总结了,我对他们这些回答的再分析,或许也有一定的发现。
主要针对一些我感兴趣的经济之类的回答(以后也可能会扩展到其他领域,比如大家关心的婚恋之类的),问题的回答数和关注者要足够多,这样分析的数据量较为充足,分析出来的结果有较高的参考价值。我想这个方法可能与社会上大公司直接爬取全网数据来分析要低档次一些。但我认为也有自己独特的价值。因为知乎等网站上的专业回答者本身其实就可以视为“专家”,而对大量专家的回答的分析,应该可以一定程度上揭示某些问题的真实情况,至少能够从整体反映部分专家对这个问题的见解。此外,对知乎问题答案的分析,再重新发布到知乎该问题中,我想也可能会给后来的读者对一个知乎问题的答案概况(这个问题下方可能有有几千个回答)有更方便的了解。当然,这只是我目前的初步感觉,具体怎么样,还要看我做出来的效果到底如何。
初步分析思路:抓取某个答案下的所有回答,利用自然语言来分词、分析频率、赞数等一系列数据特征,然后结合具体答案,得出自己的分析结论。
完成以上工作需要两个大的步骤:
1、爬虫爬取知乎某个问题下的所有答案、评论数、赞数
2、分析:利用自然语言处理来分析答案中的关键词频率;分析答案的特征分布(赞数分布、评论数分布);分析关键词和赞数关系;异常点分析:得出结论
4月3日经过一系列筛选后,找到一个我比较满意的知乎爬虫。对作者写出如此好的知乎爬虫表示感谢!
其官方地址如下:http://zhihu-oauth.readthedocs.io/zh_CN/latest/index.html
安装很简单
首先你必须有python+pip环境,我之前就安装了canopy(python2.7) 环境(windows)。canopy可以自己去google,是一个python的集成IDE环境。不过只有python2的版本。
如果需要py3,可以用anaconda集成环境。这两款都支持Linux和windows。
管理员身份打开cmd窗口输入以下命令即可安装完毕
pip install zhihu_oauth
按照作者教程,编写第一个抓取答案的demo程序如下
# coding=utf-8
from __future__ import unicode_literals, print_function
import os
from zhihu_oauth import ZhihuClient
TOKEN_FILE = 'token.pkl'
client = ZhihuClient()
if os.path.isfile(TOKEN_FILE):
client.load_token(TOKEN_FILE)
else:
client.login_in_terminal()
client.save_token(TOKEN_FILE)
# import、构建 client 以及登录知乎的代码省略
#修改括号里面的数字参数即可,我抓取的是问题“https://www.zhihu.com/question/39957694”眼看着自己所在行业日渐衰退是怎样一种体验?
question = client.question(39957694)
print(question.title)
for answer in question.answers:
print(answer.author.name, answer.voteup_count)#命令行中会输出每个答案的作者名和赞数
answer.save(question.title,answer.author.name+'-'+str(answer.voteup_count))#第一个参数是答案的存放目录名,第二个每个答案的文件名运行该demo,第一次时需要输入知乎账号和密码
随后就可以下载到所有答案。如下图所示。
每个html的题目是答案的作者名和该答案的赞数。
而html文件内容如下
接下来就是学习如何分析这些答案了。
这里再次感谢该爬虫的作者,虽然目前还不知道作者的名字,也正是这些优秀大神们的无私分享,帮助和鼓励了我们继续前行。
接下来是分析,首先是自然语言分析。写在下一篇了。
初步想法产生:我拜读了知乎-何明科老师的答案。其中他提到对一个行业兴衰的答案进行了分析。我看了他的分析,很感兴趣,想自己做着玩。
大的思路就是,分析已有的专业回答网站以及社区上的答案,得出一些有价值的分析。因为我现在直接去抓取全网的数据我也没有那个能力。反而我觉得分析一些问答网站,尽管他们已经是对他们的原始信息的总结了,我对他们这些回答的再分析,或许也有一定的发现。
主要针对一些我感兴趣的经济之类的回答(以后也可能会扩展到其他领域,比如大家关心的婚恋之类的),问题的回答数和关注者要足够多,这样分析的数据量较为充足,分析出来的结果有较高的参考价值。我想这个方法可能与社会上大公司直接爬取全网数据来分析要低档次一些。但我认为也有自己独特的价值。因为知乎等网站上的专业回答者本身其实就可以视为“专家”,而对大量专家的回答的分析,应该可以一定程度上揭示某些问题的真实情况,至少能够从整体反映部分专家对这个问题的见解。此外,对知乎问题答案的分析,再重新发布到知乎该问题中,我想也可能会给后来的读者对一个知乎问题的答案概况(这个问题下方可能有有几千个回答)有更方便的了解。当然,这只是我目前的初步感觉,具体怎么样,还要看我做出来的效果到底如何。
初步分析思路:抓取某个答案下的所有回答,利用自然语言来分词、分析频率、赞数等一系列数据特征,然后结合具体答案,得出自己的分析结论。
完成以上工作需要两个大的步骤:
1、爬虫爬取知乎某个问题下的所有答案、评论数、赞数
2、分析:利用自然语言处理来分析答案中的关键词频率;分析答案的特征分布(赞数分布、评论数分布);分析关键词和赞数关系;异常点分析:得出结论
4月3日经过一系列筛选后,找到一个我比较满意的知乎爬虫。对作者写出如此好的知乎爬虫表示感谢!
其官方地址如下:http://zhihu-oauth.readthedocs.io/zh_CN/latest/index.html
安装很简单
首先你必须有python+pip环境,我之前就安装了canopy(python2.7) 环境(windows)。canopy可以自己去google,是一个python的集成IDE环境。不过只有python2的版本。
如果需要py3,可以用anaconda集成环境。这两款都支持Linux和windows。
管理员身份打开cmd窗口输入以下命令即可安装完毕
pip install zhihu_oauth
按照作者教程,编写第一个抓取答案的demo程序如下
# coding=utf-8
from __future__ import unicode_literals, print_function
import os
from zhihu_oauth import ZhihuClient
TOKEN_FILE = 'token.pkl'
client = ZhihuClient()
if os.path.isfile(TOKEN_FILE):
client.load_token(TOKEN_FILE)
else:
client.login_in_terminal()
client.save_token(TOKEN_FILE)
# import、构建 client 以及登录知乎的代码省略
#修改括号里面的数字参数即可,我抓取的是问题“https://www.zhihu.com/question/39957694”眼看着自己所在行业日渐衰退是怎样一种体验?
question = client.question(39957694)
print(question.title)
for answer in question.answers:
print(answer.author.name, answer.voteup_count)#命令行中会输出每个答案的作者名和赞数
answer.save(question.title,answer.author.name+'-'+str(answer.voteup_count))#第一个参数是答案的存放目录名,第二个每个答案的文件名运行该demo,第一次时需要输入知乎账号和密码
随后就可以下载到所有答案。如下图所示。
每个html的题目是答案的作者名和该答案的赞数。
而html文件内容如下
接下来就是学习如何分析这些答案了。
这里再次感谢该爬虫的作者,虽然目前还不知道作者的名字,也正是这些优秀大神们的无私分享,帮助和鼓励了我们继续前行。
接下来是分析,首先是自然语言分析。写在下一篇了。
相关文章推荐
- 知乎上一个关于Android面试的问题答案
- 测试数据科学家聚类技术的40个问题(附答案和分析)
- 网站分析快速作业:十三个网站数据分析的问题及答案
- 品牌怎么做知乎营销?这个问题知乎上可能没有答案,看这
- python scrapy爬取知乎问题和收藏夹下所有答案的内容和图片
- 5个很好的Python面试题问题答案及分析
- 2017年6月 抓取知乎某一问题下所有答案图片
- 如何利用已有的cook模拟登陆知乎,并爬取相关问题下所有的答案
- 知乎对「如何提问题?」的答案总结
- 【Java EE 学习 71 下】【数据采集系统第三天】【分析答案实体】【删除问题】【删除页面】【删除调查】【清除调查】【打开/关闭调查】
- Scrapy学习笔记(3)爬取知乎首页问题及答案
- python scrapy爬取知乎问题和收藏夹下所有答案的内容和图片
- Java笔试时可能出现问题及其答案
- 应聘Java笔试时可能出现问题及其答案
- Java访问数据库的速度瓶颈问题的分析及解决
- 光电转换器常见问题分析—网络物理安全辨误
- Java 编程技术中汉字问题的分析及解决
- 深度分析数据库的热点块问题
- 启动Oracle常见疑难问题分析
- 应聘Java笔试时可能出现问题及其答案