美文网首页视觉艺术python学习笔记
【python实战】找个微博小助手,每天自动发微博

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

作者: Hobbit的理查德 | 来源:发表于2020-03-23 12:46 被阅读0次

    目录

    目录.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

    相关文章

      网友评论

        本文标题:【python实战】找个微博小助手,每天自动发微博

        本文链接:https://www.haomeiwen.com/subject/jrfwyhtx.html