【微信推送】微信专属推送——改源码教程

🆔作者简介:神奇的汪同学,一名电子信息大学生.
📑 个人主页:神奇的汪同学主页👀
📫 如果文章知识点有错误的地方,请指正!和大家一起学习进步
🔥 如果感觉博主的文章还不错的话,还请不吝关注、点赞、收藏


前言

提示:这里是本文的前言:
这篇文章是基于Github这个博主,根据自己的想法改编完善的(十分详细),大家有兴趣的话可以去看一下原创:https://github.com/erwanjun/weixin_tuisong

本篇博客的文件获取地址:https://www.aliyundrive.com/s/YEkPQQN4KUE
提取码:29uo


提示:以下是本篇文章正文内容

一、安装PyCharm

一、PyCharm官网地址:https://www.jetbrains.com/pycharm/
二、Python3及PyCharm 的安装教程
三、Python-3.9.13-amd64.exe 提取码1w7k

二、个性DIY—新增API接口

1.申请新增API

点击参考代码
在这里插入图片描述
选择python
在这里插入图片描述
把这串代码复制下来,然后进行测试!

先独立开一个.PY,测试参考代码没有问题后再放进main.py!!!

这里我们用PyCharm双击打开main.py文件 ,在tuisong文件下找到一个ceshi.py,来调试这个api接口!
在这里插入图片描述
a、把上面这串串参考代码复制进去,然后在第6行中把你的APIKEY替换成我们在前面申请的key,如下图所示
在这里插入图片描述
b、由于api返回的格式为json格式,我们需要把它转换成字典格式,这里需要引用json库,在代码最前面加入 import json,并且加入一句

 import json
data = json.loads(data)

将它转换成字典格式
在这里插入图片描述
c、然后我们提取"content",通过观察之前的输出结果,我们很容易发现,"content"被放在一个字典里面,然后这个字典又被放在了列表里面,这个列表又被作为最外层字典键"newslist"的值。所以我们通过下标方式提取:

data["newslist"][0]["content"]

如下图所示:
在这里插入图片描述

这次再运行Run Code,我们会发现它已经输出正常了:
在这里插入图片描述
我们发现它确实成功请求到了舔狗日记,只要提取到参数"content"的值就行了!
这里我把源代码贴出来,你们加入自己的KEY,可以自行测试:

# -*- coding: utf-8 -*-
import http.client, urllib
import json      #引入json库
conn = http.client.HTTPSConnection('api.tianapi.com')  #接口域名
params = urllib.parse.urlencode({'key':'在这里填入你自己的KEY'})
headers = {'Content-type':'application/x-www-form-urlencoded'}
conn.request('POST','/dujitang/index',params,headers)
res = conn.getresponse()
data = res.read()
print(data.decode('utf-8'))
data = json.loads(data)  #转换成字典
print (data["newslist"][0]["content"])

将对接好的api放入主程序

2.将对接好的api放入主程序

首先我们观察主程序main.py
发现有几个主要流程
1、编写获取api的函数
2、将函数返回值赋予给自定义变量
3、将变量作为参数放进post
总体比较简单,这里直接给出我改编的函数

#舔狗日记
def tiangou():
    if (tiangou != "替换掉我"):
        conn = http.client.HTTPSConnection('api.tianapi.com')  # 接口域名
        params = urllib.parse.urlencode({'key': tiangou_API})
        headers = {'Content-type': 'application/x-www-form-urlencoded'}
        conn.request('POST', '/tiangou/index', params, headers)
        res = conn.getresponse()
        data = res.read()
        data = json.loads(data)  # 转换成字典
        return (data["newslist"][0]["content"])
    else:
        return ""

a、同时要记得在main.py开头位置引入我们需要的库

import http.client, urllib
import json

如图所示:
在这里插入图片描述

b、定义一个 tiangou() 函数,把API接口引入到主函数

#舔狗日记
def tiangou():
    if (tiangou_API != "替换掉我"):
        conn = http.client.HTTPSConnection('api.tianapi.com')  # 接口域名
        params = urllib.parse.urlencode({'key':tiangou_API})
        headers = {'Content-type': 'application/x-www-form-urlencoded'}
        conn.request('POST', '/tiangou/index', params, headers)
        res = conn.getresponse()
        data = res.read()
        data = json.loads(data)  # 转换成字典
        return (data["newslist"][0]["content"])
    else:
        return ""

如图所示:
在这里插入图片描述

c、在下面的 #推送信息 def send_message 数组里,添加 tiangou 变量

def send_message(..., tiangou)

如图所示:
在这里插入图片描述

d、然后拉到最底下在 #公众号推送消息 send_message 数组里面,添加 tiangou 变量

# 公众号推送消息
    for user in users:
        send_message(..., tiangou)

在这里插入图片描述
这里多了一些pipi,pop,tip,都不用管,这个是我自己加入的其他的api,你们只需要加入一个dog_diary就好啦。加多了会报错,记得直接在末尾加上就好。

在 # 公众号推送消息 上面类比添加,如下内容:

#舔狗日记
    tiangou = tiangou()

并在上面几行添加,如下内容:

#舔狗日记
tiangou_API= config["tiangou_API"]

如图所示:
在这里插入图片描述

e、最后,我们找到打包post的函数
在这里插入图片描述
直接在最底下,或者中间,仿照上面,加入一个 “tiangou”

"tiangou":{
                "value": tiangou,
                "color": get_color()
            },

如图所示:
在这里插入图片描述

记得放在最后面的话,花括号后面不要逗号。

至此,api接入已经全部完成。
在保证消息模板中有{{tiangou.DATA}},并且config.txt文件填写无误的情况下就可以运行了!

3.运行程序

在这里插入图片描述
运行结果如下:
在这里插入图片描述
最后将Python文件打包为exe程序

pip3 install pyinstaller`
pyinstaller -F

测试好后弄到配置文件里去:
定义一个 tiangou() 函数

#舔狗日记
def tiangou():
    if (tiangou_API != "替换掉我"):
        conn = http.client.HTTPSConnection('api.tianapi.com')  # 接口域名
        params = urllib.parse.urlencode({'key':tiangou_API})
        headers = {'Content-type': 'application/x-www-form-urlencoded'}
        conn.request('POST', '/tiangou/index', params, headers)
        res = conn.getresponse()
        data = res.read()
        data = json.loads(data)  # 转换成字典
        return (data["newslist"][0]["content"])
    else:
        return ""

main 最下面的 # 公众号推送消息 send_message 数组里面,添加 tiangou 变量

# 公众号推送消息
    for user in users:
        send_message(..., tiangou)

在 # 公众号推送消息 上面类比添加,如下内容:

#舔狗日记
    tiangou = tiangou()

并在上面几行添加,如下内容:

#舔狗日记
tiangou_API= config["tiangou_API"]

在上面 #推送信息 def send_message 数组里,添加 tiangou 变量

def send_message(..., tiangou)

在 #推送信息 里的 data 数组里类比添加,如下内容:

"tiangou":{
                "value": tiangou,
                "color": get_color()
            },
#舔狗日记API
    tiangou_API=config["tiangou_API"]

三、部署到Github(有延时)

1.新建仓库

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

2.上传文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.实现自动推送

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
替换成下面的内容:

name: weixin
on:
  workflow_dispatch:
  schedule: 
    # 代表国际标准时间40分,北京时间需要+8小时,代表北京时间中午12点运行
    - cron: '0 4 * * *'
jobs:
#将工作流程中运行的所有作业组合在一起
  build:
  #定义名为 build 的作业。 子键将定义作业的属性 
    runs-on: ubuntu-latest 
    steps:
      - uses: actions/checkout@v2
    
      - name: Set up Python 3.9
        uses: actions/setup-python@v2
        with:
          python-version: 3.9.1
      - name: Set timezone
        run: |
          cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
      - name: install pip packages
        run: |
          python -m pip install --upgrade pip
          pip3 install -r requirements.txt
      - name: weixin
        run: |
          python3 main.py

其中倒数第三行这里的name:后面填写你创建的这个仓库的名字,我这里就填写 type—haodi

在这里插入图片描述

点击 Star commit 后,点击 Commit a new file 就可以了
在这里插入图片描述
点击 Code回到看到这样的界面,就完成自动推送了!
在这里插入图片描述

四、部署到服务器(准时)

1.获取一台服务器

白嫖三个月云服务器,用的是腾讯云服务器,地址为:https://cloud.tencent.com/
注册和实名完成之后,进入如下界面:
点击 云产品 — 云服务器
在这里插入图片描述

点击 查看更多优惠
在这里插入图片描述
进入如下界面,一直往下划
在这里插入图片描述

找到如下界面
在这里插入图片描述
点击 云产品 — 轻量应用服务器
在这里插入图片描述
出现如下界面往下滑

在这里插入图片描述

这里给大家说明一下,2022版本的系统会闪退,且运行不了程序,原因不清楚,博主搞了好久,然后这里给大家的建议是:重装系统。具体操作如下:

找到 镜像,点击 重装系统

在这里插入图片描述
选择2012R2版本,重装系统就好啦!
在这里插入图片描述
重装系统,需要几分钟,耐心等待一下就好了,可能需要重新修改一下密码!

2.去连接服务器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
出现这个界面,就代表登录成功我们的服务器啦!
(当然里面是没有任何软件的,图中的是我刚下的)
在这里插入图片描述

3.安装python和requests包

在你的远程服务器上也需要安装python和request包还有配置系统变量,可以直接在服务器中打开浏览器安装,和在自己电脑上操作一模一样

官方网站: https://www.python.org/getit/
由于是外国网站,比较慢博主给你准备好啦!Python-3.10.6-amd64 提取码k3x8

在这里插入图片描述
安装requests包操作如下:
Win+R 输入 cmd执行以下命令:

pip3 install requests

大家也可以,通过IDE安装,如pycharm!

检查是否安装完成,在cmd状态栏输入:

pip install requests

出现下面这样界面,就代表安装好啦!!
在这里插入图片描述

4.设置定时任务

你可以直接把你电脑里面的代码文件夹都复制进去(改源码的),或者直接复制下面这两个文件(有EXE文件)
在这里插入图片描述
因为windows定时任务不能直接执行.py文件,所以我们需要创建一个.bat文件,首先我们要在服务器上创建一个文本文件(.txt文件)(记得要放在与main.py/exe文件同一个文件夹里面),在里面输入

python main.py

然后进行重命名,我这里重命名为run.bat文件。
关于如何改 .bat 文件,参考如下:
在这里插入图片描述
点击文件扩展名
在这里插入图片描述
然后我们就可以开心的设置定时任务啦!
在这里插入图片描述
点击 创建基本任务
在这里插入图片描述
设计名称 微信推送
在这里插入图片描述
点击 下一步,选择 每天
在这里插入图片描述
点击 下一步,设置 时间
在这里插入图片描述
点击 下一步,选择 启动程序

在这里插入图片描述
点击 下一步 ,选择 程序或脚本 这里填入你运行代码的run.bat文件

起始于 也要填,填你放run.bat的文件夹

在这里插入图片描述
文件夹地址可以直接复制
在这里插入图片描述
这一步完成后直接点击完成!我们还需要设置启动程序权限,点击刚刚创建任务的属性
在这里插入图片描述
勾选不管用户是否登录都要运行和使用最高权限运行,配置选择你的服务器配置(用电脑的选用自己电脑配置)

在这里插入图片描述
全部完成后点击确定,然后输入VNC密码就可以啦!全部完成~


总结

最后,希望大家,一键三连,就是对博主的最大支持了!再次声明本篇博客是我对原创作者,补充!!

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神奇的汪同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值