python weibo sdk开发

题记

最近一直使用扇贝打卡,每次打卡内容都分享到微博,但是每天打卡让我的微博内容变得很混乱,于是我就想删除这些微博,一个一个删除有点麻烦,自己尝试编程完成试试

微博sdk

根据网上的步骤建立微博应用,选择适合的sdk
python语法简单,上手快,方便快捷,我选了python的
python sdk下载地址
使用教程:
设置变量 APP_KEY 和 APP_SECRET
得到 access_token(授权码) 和 expires_in (过期时间)
然后通过函数得到操作

client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
client.set_access_token(access_token, expires_in)

然后可以调用任意api
调用规则:
首先查看新浪微博API文档,例如:

API:statuses/user_timeline

请求格式:GET

请求参数:

source:string,采用OAuth授权方式不需要此参数,其他授权方式为必填参数,数值为应用的AppKey?。

access_token:string,采用OAuth授权方式为必填参数

调用方法:将API的“/”变为“.”,根据请求格式是GET或POST,调用get
()或post()并传入关键字参数,但不包括source和access_token参数:

r = client.statuses.user_timeline.get(uid=123456)
for st in r.statuses:
    print st.text

自己尝试开发

发送微博测试,发送N条微博

for i in range(0, N):
    status = 'python test demo ' + str(i)
    time.sleep(1) #得延迟,不然系统无法快速处理完上一条微博
    client.statuses.update.post(access_token=access_token,status=status)

删除微博测试,删除N条微博

# 获取要删除的微博的wid, 返回的数据类型为字典类型
a = client.statuses.user_timeline.ids.get(access_token=access_token)
# 通过字典作得到微博的wid(一次自能得到5个)
wid = a['statuses']
for i in range(0, N):
    client.statuses.destroy.post(access_token=access_token, id=wid[i])

在五条微博中删除带有“扇贝打卡”的微博

topics = '扇贝打卡'
user_timeline = client.statuses.user_timeline.get(access_token=access_token)
user_statuses_text = [0, 0, 0, 0, 0]
user_timeline_mid = [0, 0, 0, 0, 0]
tmp2 = [0, 0, 0, 0, 0]
for i in range(0, N):
    user_statuses_text[i] = user_timeline['statuses'][i]['text']
    user_timeline_mid[i] = user_timeline['statuses'][i]['mid']    
    if user_statuses_text[i].find(topics) != -1:
        tmp2[i] = user_statuses_text[i]
        print i
        client.statuses.destroy.post(access_token=access_token,id=user_timeline_mid[i])
    else:
        tmp2[i] = 0

print user_statuses_text
print user_timeline_mid #与下面的函数功能一样
#print client.statuses.user_timeline.ids.get(access_token=access_token)['statuses']

就只能做到这儿了,应为查阅了微博官方api,只能获取前5条微博,不能遍历自己的微博。最开始我的想法是通过微博api,遍历自己发布的微博,然后通过函数匹配关键字,如果匹配的话就删除。

现在先做到这儿,去请教请教大神,或者换一个思路使用python爬虫。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值