视觉艺术python学习笔记

【python实战】找个微博小助手,每天自动发微博

2020-03-23  本文已影响0人  Hobbit的理查德

目录

目录.png

一、 背景

郑老师近来自己发微博的时间比较少了,但是,公司又希望郑老师能够每天多发发微博。郑老师又没有人帮他每天发,自然搁置下来了。

我呢,没事刷刷知乎,看看python可以干什么的时候,我发现,python还可以发微博,果断入手。

这不,我就可以给郑老师找个微博小助手,每天定期发微博了么?

二、思路

要实现每天自动发微博,主要有3个步骤:

  1. 准备内容素材;
  2. 登录微博,分享内容(发微博);
  3. 每天定时发送;

三、过程

1. 准备内容素材

郑老师提供了些思路,例如,本来打算发一些口语考试背景知识,但是,微博发送内容限制140字以内,就不好实现了。

最后,决定每天发张joke图片,配文《笑点在哪里》。joke图片也是通过python从网络批量获取的。

这个过程就不详述了,自己找好素材就行。

2. python发微博

有了文字和图片素材,就开始可以用python发微博了。

通过在网上看别人的帖子,以及自己看微博开放平台的文档,总结如下:

(1)微博开放平台创建应用

①百度搜并打开微博开放平台,用自己的微博登录就行。

微博开放平台.png
②点 微连接 —— 移动应用 —— 立即接入 ——继续创建,就可以创建新应用了。

应用名称和应用分类自己选就行了,然后点击 创建,就创建了应用了,这样就可以我的应用中看见了。

创建新应用.png

创建应用的主要目的是获取 App KeyApp Secretcodeaccess_token授权回调页地址安全域名这些信息,这些是在发微博过程中需要用到的。

其中, App KeyApp Secret是创建信息后自动生成的;

Key&Secret.png
授权回调页地址安全域名是需要自己添加;

code是需要根据 App Key授权回调页地址获得;

access_token是需要根据 App KeyApp Secretcode授权回调页地址获得;

安全域名是在发微博时需要带上的。

(2)添加授权回调页地址、安全域名

授权回调页:在我的应用——应用信息——高级信息中,进行编辑设置。

在这里,授权回调页用了郑老师的简书主页,应该也可以用其他的个人主页或者自己信得过的网址。

取消授权回调页:就用了简书主页了,这个也没啥限制的。

授权回调页.png
安全域名:在我的应用——应用信息——基本信息中,进行编辑设置。

在设置过程中,还需要填 应用地址、应用简介、应用介绍、标签,其中,应用地址可以是自己的微博主页,其他信息,就按要求凑够字数,添加标签就行。

由于发微博的接口请求参数中的status要求文本中必须包含至少一个第三方分享到微博的网页URL,且该URL只能是该第三方(调用方)绑定域下的URL链接

因此,根据网上的帖子,安全域名可以填 weibo.com,之后的url链接就可以是郑老师的微博主页了。

(3)授权登录,获得code

该填的信息都填完之后,就可以开始获取参数了。

首先是,授权登录。点击 文档——微博登录

微博登录.png

就可以看到两个重要的URL了。

url.png

第一个URL是用来获得code的:

https://api.weibo.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI

将该URL复制到浏览器的地址栏,将YOUR_CLIENT_ID改为自己的App KeyYOUR_REGISTERED_REDIRECT_URI改为自己设置的授权回调页地址

回车-点击授权登录后,页面跳转,地址栏中是自己设置的**授权回调页地址**\?code=CODE,其中,CODE就是后续要用的code

(4)获得access_token

上述图片的第2个URL是用来获得access_token的:

https://api.weibo.com/oauth2/access_token?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=authorization_code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&code=CODE

同样可以,将该URL复制到浏览器的地址栏,将YOUR_CLIENT_ID改为自己的App KeyYOUR_REGISTERED_REDIRECT_URI改为自己设置的授权回调页地址,另外,将code改为上述获取到的code

回车,返回的页面中,就有access_token值,保存下来。

(5)发文字+图片微博

至此,需要的参数都已经有了,开始写python代码发微博了。

同样,进入文档——内容分享——API接口——分享微博接口可以看到,需要的请求参数。其中,access_tokenstatus是必填的。

请求参数.png
import requests
access_token='自己的access_token'
safe_domain='可以是自己的微博主页'
url_share='https://api.weibo.com/2/statuses/share.json'
text='要发送的文字'
para={'access_token':access_token,
     'status':text}
pic='图片'
files={'pic':open(pic,'rb')}
#只发纯文字
r_text=requests.post(url_share,data=para)
#文字+图片
r_pic=requests.post(url_share,data=para,files=files)

根据上述代码及自己准备的素材进行修改,就可以发微博啦~

3. 每天自动发送

每天自动发送的实现主要是通过windows系统自带的任务计划程序,就是让电脑每天定时地跑python代码就行了。这也适用于其他程序的每天自动运行。

以win10为例:

右键此电脑——点开管理,看到如下界面:

计算机管理.png
点击任务计划程序,然后,点击右侧的创建基本任务 创建基本任务.png

任务名称:自己定义任务名称

触发器:点击下一步,设置触发器,自己选择任务开始的时间。

触发器.png
除了选择计算机启动时当前用户登录时,其他选项会需要补充设置时间,例如,每天开始的话,是从哪天什么时候开始,每隔几天发生一次。 每日.png
操作:选择启动程序,点击下一步。 操作.png
程序或脚本:python的安装路径,例如,

C:\Users\Ressia\AppData\Local\Programs\Python\Python38\python.exe

添加参数:python脚本的路径,例如,

C:\study\实战\python\weibo\weibo_xiaohua.py

启动程序.png

点击下一步——完成,就已经设定好啦~

任务计划程序库中,就可以看到自己设定的程序(双击可以进行修改编辑),可以点击右侧的运行,看看效果哟~~

任务计划程序库.png

四、效果

给郑老师设定每天上午8点发微博,python自动生成的内容,发布文字和jokes的图片,效果如下图。

郑老师的定时微博.png

我自己嘞,就每天0点,python自动生成的内容,发布进度条文字和图片。

自己的定时微博.png
上一篇下一篇

猜你喜欢

热点阅读