怎样科学地蹭热门:用python爬虫获取热点微博评述并举办情绪说明语言&工具

来源:互联网 / 作者:SKY / 2017-11-28 00:35 / 点击:
本文首要涉及常识点包罗新浪微博爬虫、python对数据库的简朴读写、简朴的列表数据去重、简朴的天然说话处理赏罚(snowNLP模块、呆板进修)。得当有必然编程基本,并对p
CTO实习营 | 12月3-5日,深圳,是时辰成为优越的技能打点者了

怎样科学地蹭热门:用python爬虫获取热点微博评述并举办情绪说明

媒介:本文首要涉及常识点包罗新浪微博爬虫python对数据库的简朴读写、简朴的列表数据去重、简朴的天然说话处理赏罚(snowNLP模块、呆板进修)。得当有必然编程基本,并对python有所相识的盆友阅读。

甩锅の声明

1.本数据节选自新浪热点微博评述,不代表本人任何概念

2.本人不接管任何非技能交换类品评指责(夸我可以)

3.本次说明功效因技能题目存在必然偏差(是引入的包的题目,不是我的)

4.本次选取热点微博为一个月早年的(翻译一下:热门已经冷了,我只是个写教程的)

顶锅盖逃

继前次更完“国庆去哪儿”文之后,被许多几何编程相干的公家号翻了牌子_(:зゝ∠)_,让我过了一把v的瘾,也让我越发全力的想要装(消音)。

在我静心进修mysql、scrapy、django筹备下一波吹水的时辰,中国站长站,有人说,你去趴下老薛的微博呀,还能蹭个热门,这让勤(mo)奋(mo)学(kou)习(jiao)的我停下了寄几敲代码的手。

然后我赶忙去存眷了一下最近老薛的消息…在感觉了剧情的伟大和案情的空中楼阁之后…我冷静地进修了怎样阅读条约…怎样操作ELA说明图片…怎样写作文…怎样查别人的银行流水…常识点有点多…让我缓一会…

以是呢,这次的主题是说明老薛最新微博的评述,说明评述粉丝们的神色状态,且听我娓娓道来。

1.新浪微博API

在经验了屡次爬虫被禁的悲哀(真的很痛)之后,我学会了在爬网站之前先查有没有API的“精良”风俗。新浪作为一个大厂,怎么会不推出新浪微博API呢,面向开拓者新浪有本身的开放平台,这里是python挪用微博API的要领,下面是通过登录App_key和App_secret方法会见微博API的代码,代码是基于py2的。py3对weibo模块行使存在必然题目。

from weibo import APIClient  

import webbrowser 

 

import sys 

reload(sys) 

sys.setdefaultencoding('utf-8'

 

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

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

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

 

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

url = client.get_authorize_url()  

webbrowser.open_new(url) #打开默认赏识器获取code参数  

 

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

 

code = raw_input() 

r = client.request_access_token(code) 

access_token = r.access_token 

expires_in = r.expires_in 

client.set_access_token(access_token, expires_in)  

知道怎样登录API了,辣么怎样挪用API爬单条微博的评述呢?一行代码搞定。

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

全部关于单条微博的评述信息都在r.comments中了,这里必要比较微博API文档,微博API有声明挪用微博评述API必要获取用户授权,可是捏,只要知道单条微博的id,就可以挪用这个API了,关于单条微博的id怎样获取在后头会说(小声一点,万万别让微博知道,万一封了呢)。

奈何科学地蹭热点:用python爬虫获取热门微博批评并举行情感声名

 

奈何科学地蹭热点:用python爬虫获取热门微博批评并举行情感声名

凭证client.接口名.get(哀求参数)的方法获取API,获取API后的规格可在接口详情中查察,文档中有给出返回功效的示例。

奈何科学地蹭热点:用python爬虫获取热门微博批评并举行情感声名

文档中也给出了要害数据的json接口名称。

奈何科学地蹭热点:用python爬虫获取热门微博批评并举行情感声名

假如我们要获取微博评述的内容,只必要挪用text接口即可。

for st in r.comments: 

 

    text = st.text  

2.微博爬虫

通过挪用新浪微博API的方法,我们就可以简朴获取单条微博的评述信息了,为啥说简朴呢,由于人红信息贵啊!你觉得大V的微博就这么免费的给你API挪用了吗,非认证应用开拓者单日只能哀求几千次API,这对像老薛这样单条微博几十万评述的大V来说…太少了(TT)

以是捏,照旧要写微博爬虫。

阅读延展

1
3