python发微博头条文章_Python脚本实现自动发带图的微博

要自动发微博最简单的办法无非是调用新浪微博的API(因为只是简单的发微博,就没必要用它的SDK了)。参考开发文档http://open.weibo.com/wiki/API 进行代码编写

创建应用

要使用微博的API,需先要有个应用。随便是个应用就行,可以到这里注册一个站内应用应用注册。注册应用的主要目的是要获得MY_APPKEY 和MY_ACCESS_TOKEN,如图所示

927d1bb0d1b96f2f546eb68678d79e7f.png

获取access_token

API的调用需要登录授权获得access_token。参考

首先,调用https://api.weibo.com/oauth2/authorize接口,获得code。

该接口有三个必须的参数:

•client_id:申请应用时分配的AppKey。

•redirect_url:就是创建应用中设置的回调地址

•response_type:响应类型,可设置为code

具体做法,就是在浏览器打开https://api.weibo.com/oauth2/authorize?client_id=123050457758183&redirect_uri=http://www.example.com/response&response_type=code。该方法会转到授权页面,授权之后会转到http://www.example.com/response&code=CODE,记录下该url中的CODE。

接着,调用https://api.weibo.com/oauth2/access_token接口,获得access_token。

该接口有如下必须的参数:

•client_id:申请应用时分配的AppKey。

•client_secret:申请应用时分配的AppSecret。

•grant_type:请求的类型,填写authorization_code

•code:调用authorize获得的code值。

•redirect_uri: 就是创建应用中设置的回调地址

具体做法就是构建一个POST请求,再在返回的数据中找到access_token,保存下来。具体的Python代码:

import requests

url_get_token = "https://api.weibo.com/oauth2/access_token"

#构建POST参数

playload = {

"client_id":"填入你的",

"client_secret":"填入你的",

"grant_type":"authorization_code",

"code":"上面获得的CODE",

"redirect_uri":"你的回调用地址"

}

#POST请求

r = requests.post(url_get_token,data=playload)

#输出响应信息

print r.text

如果正常的话,会返回下面这样的json数据:

{"access_token":"我们要记下的","remind_in":"157679999","expires_in":157679999,"uid":"1739207845"}

根据返回的数据,access_token的值就是我们要的。其中remind_in的值是access_token的有效期,单位为秒,我们可以看到,这个时间有3、4年之久,足够我们用了。

发表纯文字微博

调用接口https://api.weibo.com/2/statuses/update.json发表文字微博,其参数如下

276342d8afbba22c2c866c805b9f0452.png

其中必须的:

•access_token: 就是我们上一步获得的access_token

•status:要发布的微博文本内容,必须做URLencode,内容不超过140个汉字

具体代码:

#发表文字微博的接口

url_post_a_text = "https://api.weibo.com/2/statuses/update.json"

#构建POST参数

playload = {

"access_token":"填入你的",

"status":"This is a text test@TaceyWong"

}

#POST请求,发表文字微博

r = requests.post(url_post_a_text,data = playload)

如果正常,会有向下面这样的结果

641fa57fe33b308bbf236e1e14be8f59.png

发表带图片的微博

调用接口http://open.weibo.com/wiki/2/statuses/upload发表图片微博,其参数如下:

2a4007358808dfd5c02fe90c454a49cd.png

其中必须的参数:

•access_token: 就是我们上一步获得的access_token

•status:要发布的微博文本内容,必须做URLencode,内容不超过140个汉字

•pic:要发表的图片,采用multipart/form-data编码方式

具体的代码:

#发表图文微博的接口

url_post_pic = "https://upload.api.weibo.com/2/statuses/upload.json"

#构建文本类POST参数

playload={

"access_token":"2.0086XhtBIQLH7Ed67706b6c8TQ8XdE",

"status":"Test:Post a text with a pic & AT someone@丸子覠"

}

#构建二进制multipart/form-data编码的参数

files={

"pic":open("logo.png","rb")

}

#POST请求,发表微博

r = requests.post(url_post_pic,data=playload,files = files)

如果正常,结果会像下面这样:

df83fc79dea80f2d4c8b0b23c30f6e06.png

注:requests的具体用法请参考[requests文档](http://docs.python-requests.org/en/master/)

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

相关文章

相关视频

网友评论

文明上网理性发言,请遵守 新闻评论服务协议我要评论

47d507a036d4dd65488c445c0974b649.png

立即提交

专题推荐064df72cb40df78e80e61b7041ee044f.png独孤九贱-php全栈开发教程

全栈 100W+

主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门

7dafe36c040e31d783922649aefe0be1.png玉女心经-web前端开发教程

入门 50W+

主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门

04246fdfe8958426b043c89ded0857f1.png天龙八部-实战开发教程

实战 80W+

主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值