我用Python爬了鹿晗、关晓彤微博的热门评论,并进行了情感分析 - 站长之家

我用Python爬了鹿晗、关晓彤微博的热门评论,并进行了情感分析

2017-10-11 11:19 稿源:51CTO  0条评论

相信最近科技圈都在调侃一件事:10 月 8 日中午的一条微博,引发了一场新浪微博用户们(尤其是女性用户)之间的轩然大波,导致新浪微博瘫痪。

本文主要涉及知识点包括新浪微博爬虫、Python 对数据库的简单读写、简单的列表数据去重和自然语言处理(snowNLP 模块、机器学习)。适合有一定编程基础,并对 Python 有所了解的盆友阅读。

这条微博的始作俑者,就是全球超人气偶像明星鹿晗。

程序员们纷纷开启了科♂学地讨论:

详细内容可见昨日的图文:鹿晗是如何将微博服务器搞炸的

微博工程师是如何一边结婚一边加班的:

淘宝程序员是如何原谅鹿晗的:

在这一刻,全世界都知道鹿晗恋爱了:

全球的女鹿饭们一起失恋了。

那么鹿晗的粉丝们情绪如何呢?我们来分析一下鹿晗恋情微博的评论,分析评论时粉丝们的心情状态,且听我娓娓道来。(想看分析结果的可直接跳到第 5 节)

新浪微博 API

在经历了几次爬虫被禁的悲痛(真的很痛)之后,我学会了在爬网站之前先查有没有 API 的“优良”习惯。

新浪作为一个大厂,怎么会不推出新浪微博 API 呢,面向开发者新浪有自己的开放平台,这里是 Python 调用微博 API 的方法,通过登录 App_key 和 App_secret 方式访问微博 API 的代码,代码是基于 PY2 的。PY3 对 Weibo 模块使用存在一定问题。

  1. from weibo import APIClient

  2. import webbrowser

  3. import sys

  4. reload(sys)

  5. sys.setdefaultencoding('utf-8')

  6. APP_KEY = '你的App Key ' #获取的App Key

  7. APP_SECRET = '你的AppSecret' #获取的AppSecret

  8. CALLBACK_URL = 'https://api.weibo.com/oauth2/default.html' #回调链接

  9. client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)

  10. url = client.get_authorize_url()

  11. webbrowser.open_new(url) #打开默认浏览器获取code参数

  12. print '输入url中code后面的内容后按回车键:'

  13. code = raw_input()

  14. r = client.request_access_token(code)

  15. access_token = r.access_token

  16. expires_in = r.expires_in

  17. client.set_access_token(access_token, expires_in)

知道如何登录 API 了,辣么如何调用 API 爬单条微博的评论呢?一行代码搞定。

r = client.comments.show.get(id = 4160547165300149,count = 200,page = 1)

所有关于单条微博的评论信息都在 r.comments 中了,这里需要对照微博 API 文档,微博 API 有声明调用微博评论 API 需要获取用户授权。

有好的文章希望站长之家帮助分享推广,猛戳这里我要投稿

相关文章

相关热点

查看更多