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

相关推荐

  • 在线考勤签到打卡二维码,如何制作表格

    因为疫情原因,居家办公、居家上课、线上会议、线上活动等都成了常态。因此常规的上班上课签到打卡方式也都改为线上进行。虽说是特殊时期的无奈之举,但不得不承认,在线签到打卡已经是一种非常…

    2023年 1月 14日
  • 这些卫星地图工具你会用吗,不用花钱免费安装的卫星地图

    看到标题可能在想,下个地图还不简单吗?随便框一下就可以下载了。的确,我们的地图下载器已经让地图下载变得很简单。 比如BIGEMAP大地图软件。在软件中,最常用的莫过于三个工具,矩形…

    2023年 4月 27日
  • 公众号文章关键词排名,公众号下拉框关键词排名

    1:文章内容 微信公众号排名机制一直是大家研究的热门话题。近期,腾讯官方对公众号排名机制做出了一些调整,下面我们就来分析一下公众号排名机制的变化。 首先,公众号排名不再仅仅参考阅读…

    2022年 12月 24日
  • 优酷会员最新规则(优酷会员一年50多靠谱吗)

    这段时间,优酷会员改变规则的事情,持续引发吐槽。 此前,一个优酷会员可以同时登录3个手机设备,现在,不少网友表示自己的会员只能登录一个手机账号了。 优酷回应称,此举是为了维护平台的…

    2023年 2月 15日
  • 设置淘宝直通车推广方案需要(怎么设置淘宝直通车推广计划)

    大家好,我是易尚客服外包的小易,专注客服外包和店铺运营,避免下次找不到我,记得加个关注哦,喜欢我的内容一定要点赞+收藏! 作为大多数淘宝商家常用的推广工具,淘宝直通车可帮助商家在淘…

    2023年 8月 1日
  • cad转pdf怎么弄手把手教你快速转换

    很多设计师、工程师朋友,做完CAD图纸之后,经常需要转换成PDF,那么为什么图纸要用PDF的格式呈现呢? 先给大家浅浅分析一下CAD与PDF的关系! CAD和PDF的关系 CAD的…

    2023年 5月 19日
  • 手机获取qq好友ip地址

    与好友在网络上相互传输资料时,有时先要知道对方计算机的IP地址,才能与对方建立信息传输通道;那么对方的IP地址该如何搜查得到呢?这样的问题你也许会嗤之以鼻,的确,查询对方计算机的I…

    2023年 4月 14日
  • CAD快捷画图(cad画图看不见什么快捷键)

    有很多小白都想在业余时间自学CAD制图,但想要上手可没有那么容易,除了要知道它的操作原理、基础使用之外,我们还需要掌握一些操作它的快捷键来提高效率。今天,我给大家简单整理了一些常用…

    2022年 12月 28日
  • css定位详解,css定位不了

    为什么需要定位? 浮动可以让多个块级盒子一行没有缝隙排列显示,多用于横向排列盒子. 定位则可让盒子自由地在某个盒子内移动或者固定屏幕某个位置,并且可以压住其他盒子. 定位组成 定位…

    2023年 3月 8日
  • 2019抖音最热车载歌曲(抖音车载音乐舞曲素材哪里找)

    选择车载音乐,主要看你车载电脑是什么类型,支持什么格式;音乐文件常见格式有 mp3flacapewawmp4wkv等等,其中MP3格式适应性最好。 挑选车载音乐,你选对了吗? 部分…

    2023年 1月 16日