python新浪微博数据爬取(tornado python3)

新浪微博:山寨版的twitter,各种粉丝的集散地,天朝人民的最爱,基本上网民都人手一个微博账号,所以使用新浪微博账号进行三方登录来提高用户登录体验就显得尤为重要,本次使用Python3+Tornado5来集成微博登录,记录一下,坑还是不少的。

首先注册微博开放平台:***/

选择微链接-》网站接入=>立即接入 新建一个应用

使用Python3+Tornado5.1集成新浪微博三方登录(无需企业资质)

应用创建成功后,会立即跳转审核页面,需要填写一些资质,用来进行审核,其实这些审核字段都不用搭理,应用压根就不需要通过审核

使用Python3+Tornado5.1集成新浪微博三方登录(无需企业资质)

只需要拿到appkey和appsecret即可,然后立即点击高级信息,填写回调网址

使用Python3+Tornado5.1集成新浪微博三方登录(无需企业资质)

需要注意一点,目前新浪对127.0.0.1需要进行安全校验,所以回调路由填一个随机ip就可以了,不一定是真实的,主要为了应对新浪的安全监测,见下图:

使用Python3+Tornado5.1集成新浪微博三方登录(无需企业资质)

那么新浪微博的登录逻辑很简单: 拼接url => 回调获取code => 利用code换取uid和access_token => 使用access_token获取用户信息

首先第一步,拼接url,这里我们使用Tornado写控制器

#新浪微博登录地址组合返回(第一步)class SinaFirstHandler(BaseHandler): def get(self,*args,**kwargs): #微博接口地址 weibo_auth_url = "***/oauth2/authorize" #回调网址 redirect_url = "http://127.0.0.1:8000/md_admin/weibo" #应用id client_id = "2636039333" #组合url auth_url = weibo_auth_url + "?client_id={client_id}&redirect_uri={re_url}".format(client_id=client_id, re_url=redirect_url) self.write(auth_url)

第二步,回调获取code,并且换取access_token和uid

#新浪微博回调地址(第二步)class SinaBackHandler(BaseHandler): def get(self,*args,**kwargs): #获取回调的code code = self.get_argument('code') #微博认证地址 access_token_url = "***/oauth2/access_token" #参数 向新浪接口发送请求 re_dict = requests.post(access_token_url,data={ "client_id": '2636039333', "client_secret": "4e2fbdb39432c31dc5c2f90be3afa5ce", "grant_type": "authorization_code", "code": code, "redirect_uri": "http://127.0.0.1:8000/md_admin/weibo", }) re_dict = re_dict.text re_dict = eval(re_dict) print(re_dict.get('uid')) self.write(re_dict)

接下来的情况就有点操蛋了,因为新浪规定应用如果不通过审核,那么新浪有些接口无权限请求的,可以说你手里只有access_token和uid,却换不到别的东西,怎么办呢,没有人会闲的没事为了测试接口就去弄个营业执照,但是有一个曲线救国的方法,就是在测试信息页面来添加测试账号,添加好测试账号之后,就可以请求相应的接口

使用Python3+Tornado5.1集成新浪微博三方登录(无需企业资质)

最后,利用手里的access_token和uid来获取当前用户的用户名

result = requests.get('***/2/users/show.json',params={'access_token':res['access_token'],'uid':res['uid']})result = json.loads(result.text)print(result['name'])

可以看到接口请求成功

使用Python3+Tornado5.1集成新浪微博三方登录(无需企业资质)

搞定收工。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:dandanxi6@qq.com

(0)
上一篇 2023年 7月 19日 下午2:35
下一篇 2023年 7月 19日 下午2:41

相关推荐

  • 一套鼠标键盘控制多台电脑切换器

    如今的网络游戏日益发达,对于很多80后90后而言,相信出名的网络游戏都是有所耳闻。例如曾经火遍大江南北的地下城与勇士端游,一直以来都是游戏工作室以及代练们搬砖挂机的好项目。话说回来…

    2023年 9月 23日
  • 微信定时发送功能曝光,苹果快捷指令定时发微信给某人

    就在前两天,咱们的小而美 Mac 版又整了新花样: 不仅可以让你在电脑端刷朋友圈,还能够发朋友圈,并浏览好友的朋友圈相册…… 好家伙,越来越有当年 QQ 空…

    2023年 2月 2日
  • 公众号怎么获得微信推荐增加更多流量呢

    昨天发的文章,刚一看阅读量马上破万了, 粉丝涨了100多个,而且还在持续增长中。。。 我去查了下后台数据,确认是因为这篇文章被系统推流了。 很多人都持悲观态度,并且最近还有很多人被…

    2023年 8月 14日
  • 微信透明朋友圈怎么弄

    诶嘿,貌似挺久没来安利微信技巧了。 别担心,这次微信没有更新,但教程嘛,依然会有,而且是你们最喜欢的那种。 闲话不多说,先来说干货。 群备注 这个功能是微信官方的热更新,不用下载测…

    2023年 5月 22日
  • 淘宝申请定金退款怎么处理,弘辽科技教你开淘宝店铺下单流程

    对淘宝活动来说,肯定也会出现定金退款的情形,当遇到这种情况后,肯定也要学会去申请,不过还有很多卖家都不知道应该怎么去申请退定金,也不知道定金的原则有哪些。 如果买家需要退预售定金,…

    2023年 5月 18日
  • 残疾人火车票网上购票(残疾人乘火车票怎么优惠)

    残疾人专用车票 中残联发布了一项政策:从2020年4月28日起,残疾人可以通过12306网站购买残疾人专用票额火车票了。 跋山涉水前往火车站窗口,只为购买一张“专用火车票”,已经成…

    2023年 3月 7日
  • 北京盛元广通科技有限公司官网,北京盛元广通科技有限公司

    盛元广通高校实训中心智能管理系统,将实践教学、实验开放预约、大创项目、俱乐部、仪器设备、试剂耗材、竞赛、师生专利、获奖成果、远程实验等多维度实践创新内容融于一体,同时结合“互联网+…

    2022年 12月 23日
  • 无线鼠标没反应怎么办

    无线鼠标没反应怎么办?不管多好的东西也会有坏的一天,无线鼠标也是不例外的,有时无线鼠标会出现没有反应的症状,造成这种鼠标不动了的原因,可能是由于鼠标与电脑的无线连接中断造成的。那么…

    2023年 1月 29日
  • qq里面有扫一扫这个功能吗(qq定时发送消息功能)

    qq这个开起80后、90后社交大幕的平台,曾风靡一时,如今,随着微信、头条、抖音、钉钉等各路平台的崛起,这个社交方式较为单一的工具,渐渐淡出人们人们的视野。 你有多久没有使用过qq…

    2023年 1月 4日
  • 什么狗能骑,狗带,wuli、法骑的区别

    文:某小刀 你的朋友圈一定是被黄子韬在伦敦时装周迟到入场结果提着裤头跟模特一起走天桥入场找座位对的动图刷爆了吧? 还有提裤头这张图,堪称天朝明星征战各大时装周的年度最佳照片。 你是…

    2023年 1月 17日