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

相关推荐

  • 华为智能寻车功能怎么开启

    面对国内庞大的汽车保有量,停车这件事是很多车主头疼的问题。正因如此,现在不论是小区、大厦还是商场,绝大部分停车位都设置在地下1-2甚至是3-4层的地库中,这样多层的地下停车库虽然缓…

    2023年 5月 17日
  • 「重磅首测」7盼已久,神器登场,AMD第三代锐龙台式机处理器强劲性能揭晓

    注:第三代锐龙的官方正式完整名称为“AMD第三代锐龙台式机处理器”,以下为行文方便和便于阅读会部分采用简称,例如“第三代锐龙”。 AMD采用ZEN2架构的第三代锐龙台式机处理器开售…

    2022年 12月 21日
  • 10种适合网上兼职赚钱的方式有哪些

    网络调查:各种市场调研公司会在网上发布各种调查,你可以通过回答问卷调查来赚取报酬。 写作:如果你擅长写作,可以在各大自媒体平台、博客、新闻媒体等地方发布自己的文章,通过广告分成或稿…

    互联网 2023年 3月 25日
  • 爱奇艺新用户包年多少钱

    爱奇艺是一个非常受欢迎的在线视频平台,很多用户不知道爱奇艺新用户一年多少钱。下面就和影视追剧迷们分享爱奇艺新用户一年多少钱,参考下面的方法开通爱奇艺会员仅需98元/年。 1.爱奇艺…

    2023年 1月 24日
  • 做电商如何谈快递的价格,电商怎么谈快递费

    昨天下午一个问答,引来大家广泛的讨论,好多新人和大咖都爆出了自己的快递价格,让我们大开眼界。今天我们简单来总结下: 新手谈价 这个阶段最难,一般刚开始,快递员会给你一个比较高的价格…

    互联网 2023年 3月 4日
  • 淘宝评价折叠了还能看到吗?是什么意思啊

    对于各位淘宝卖家来说,收到中差评是一件很难受的事情,中差评对店铺的影响是很大的,那么这又是在运行过程中很难避免的,淘宝有了评价折叠功能,淘宝评价折叠了还能看到吗?  一、淘宝评价…

    2023年 7月 2日
  • 12306客服为您解答退票的那些事情

    受台风影响 部分列车晚点或停运 众多旅客前来咨询 关于退票的问题 小编前往广铁集团12306客服中心 为大家探寻了一些常见的疑问 Q&A 1 问:列车停运后,旅客要去车站窗…

    2023年 3月 17日
  • 哪个牌子的激光打印机好用还便宜

    说到打印机相信大家一定不会陌生,只要涉及到打印文件就一定会用到打印机。但是对于家庭用户来说究竟该如何挑选打印机产品呢?其实对于大多数家庭用户而言,由于使用的频率并不高,更建议选择一…

    2023年 4月 25日
  • 兴业银行漳州分行行长谢(漳州兴业总行电话)

    为进一步提升兴业银行漳州分行便民惠民利民金融服务水平,让百姓生活更加便利,该行积极践行普惠金融服务,通过打造便民支付场景,优化支付体验,为广大用户提供更有智慧、更有温度的金融服务。…

    互联网 2023年 1月 1日
  • 花呗,借呗,微粒贷,白条是什么意思

    随着移动互联网的高速发展,现在借贷也不像之前那么手续繁杂,但是现在各类信贷产品五花八门,当你出现资金困难急需用钱的时候,可以有很多选择,花呗、借呗、微粒贷、京东白条等。之前看到很多…

    互联网 2023年 6月 17日