【python】微信公众号开发
公众号平台配置
微信公众号官方平台 https://mp.weixin.qq.com
—设置IP白名单
—服务器配置
—获取AppID和AppSecret
—测试是否可获取access_token
1.get_access_token.py脚本
import requests
res=requests.get("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=填写AppID&secret=填写AppSecret")
print res.text
2.在服务器命令行执行该脚本
python get_access_token.py
3.access_token返回结果
{"access_token":"ACCESS_TOKEN","expires_in":7200}
- 得到返回结果说明服务器和微信服务器通信正常
服务器端部署
环境准备
1.安装python3.7
将install_python.sh脚本文件保存在服务器端然后执行该文件
#!/bin/bash
#-*- coding:utf-8 -*-
#安装c编译器
yum install gcc
#安装依赖包
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
#下载Python-3.7.0.tgz
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
#解压Python-3.7.0.tgz
tar -zxvf Python-3.7.0.tgz
#创建文件夹存放python
mkdir /usr/local/python3
#执行配置文件,编译,编译安装
cd Python-3.7.0
./configure --prefix=/usr/local/python3
make && make install
#建立软连接
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3
#安装完成提示
echo '[提示] 已安装'
echo '[python版本]'
python -V
echo '----------------'
2.安装werobot依赖包
pip3 install werobot
项目文件
werobot框架开发文档https://werobot.readthedocs.io/zh_CN/latest/start.html
—客服机器人
运行文件robot.py
#-*-encoding:utf-8-*-
import werobot
from werobot.replies import *
import json
import os
import randomrobot=werobot.WeRoBot(token='wxgzh') # 微信公众号平台自定义的token
robot.config["APP_ID"] = "wxebfdd936d9598ef9" # 填写AppID
robot.config["APP_SECRET"]="896e570f7b712a6ac44d3554fb633ce0" # 填写App_Secret#自动创建数据文件
if not os.path.exists('reply.json'):f = open('reply.json', 'w', encoding='utf-8')json.dump({'': ''}, fp=f, ensure_ascii=False)f.close()@robot.text
def process_words(message):with open('reply.json','r',encoding='utf-8') as f:dic_data=json.load(f)for key in dic_data.keys():if key in message.content:return dic_data[key]else:other_reply=random.choice(['你说的是什么意思呀!','你慢点说嘛,人家有点听不懂了...'])return other_replyif __name__ == '__main__':robot.config['HOST'] = '0.0.0.0'robot.config['PORT'] = 80robot.run()
关键字定义文件set_key_reply.py
import json
import os
#自动创建数据文件
if not os.path.exists('reply.json'):f = open('reply.json', 'w', encoding='utf-8')json.dump({'hello': '你好'}, fp=f, ensure_ascii=False)f.close()#查看已定义回复内容
def all_key_reply():with open('reply.json', 'r', encoding='utf-8') as f:dic_data=json.load(fp=f)print("================================")print("[关键字] [回复内容]")for k,v in dic_data.items():if isinstance(v,list):print(k+"\t\t\t"+"; ".join(v))elif isinstance(v,str):print(k+"\t\t\t"+v)else:print('存在错误数据!')print("================================")#增加自定义回复内容
def add_key_reply(key,reply_content):if isinstance(key,str) and isinstance(reply_content,str):with open('reply.json', 'r', encoding='utf-8') as f:dic_data = json.load(fp=f)dic_data.setdefault(key,reply_content)with open('reply.json','w',encoding='utf-8') as f:json.dump(dic_data,fp=f,ensure_ascii=False)print('关键字添加成功!')#删除自定义回复内容
def delete_key_reply(key):if isinstance(key,str):try:with open('reply.json', 'r', encoding='utf-8') as f:dic_data = json.load(fp=f)dic_data.pop(key)with open('reply.json', 'w', encoding='utf-8') as f:json.dump(dic_data, fp=f, ensure_ascii=False)print('关键字删除成功!')except KeyError:print('删除的关键字不存在!')#修改自定义回复内容
def change_key_reply(key,new_reply_content):if isinstance(key,str) and isinstance(new_reply_content,str):try:with open('reply.json', 'r', encoding='utf-8') as f:dic_data = json.load(fp=f)dic_data[key]=new_reply_contentwith open('reply.json', 'w', encoding='utf-8') as f:json.dump(dic_data, fp=f, ensure_ascii=False)print('修改成功!')except KeyError:print('修改的关键字不存在!')print('========自定义回复内容管理========')
print('1.查看全部关键字回复内容')
print('2.增加自定义回复内容')
print('3.删除自定义回复内容')
print('4.修改自定义回复内容')
while True:buttton=input('>>')if buttton == '1':all_key_reply()elif buttton == '2':key=input('请输入添加的关键字:')reply_content=input('请输入相应的回复内容:')add_key_reply(key,reply_content)elif buttton == '3':key=input('请输入要删除的关键字:')delete_key_reply(key)elif buttton == '4':key=input('请输入修改的关键字:')new_reply_content=input('请输入回复的内容:')change_key_reply(key,new_reply_content)else:print('输入有误!')
—美妆公众号机器人
#-*-encoding:utf-8-*-
import werobot
import requests
import datetime
import random
import os
import re
import json
import urllib
import sqlite3
from urllib import request
import urllib3
from aip import *
from werobot.replies import *
import time
#趣玩屋公众号
# robot=werobot.WeRoBot(token='wxgzh')
# robot.config["APP_ID"] = "wxebfdd936d9598ef9"
# robot.config["APP_SECRET"]="896e570f7b712a6ac44d3554fb633ce0"#超美的说
robot=werobot.WeRoBot(token='wxgzh')
robot.config["APP_ID"] = "wxc8a30722cb6fadeb"
robot.config["APP_SECRET"]="c4502ffdb4270657b1efb719e5e8a592"BUTTON_iw=False
chat_bot=False
client=robot.client#被关注后自动回复
@robot.subscribe
def subscribed():return '终于等到你,还好我没放弃~欢迎来到“超美的说”,我是美貌而不骄傲,疯狂而不单调的可爱酱^∨^希望这个奇妙的号能帮助你成为更好的自己。小提示:可以通过回复"菜单"来查看功能列表哦!
【python】微信公众号开发相关推荐
- Python微信公众号开发平台
上大学的时候,对微信公众号开发浅尝辄止的玩了一下,感觉还是挺有意思的. //www.jb51.net/article/133677.htm后来服务器到期了,也就搁置了.由于发布web程序,使用PHP很 ...
- python微信公众号开发教程_python微信公众号开发简单流程实现
本文为大家分享了python微信公众号开发的简单过程,供大家参考,具体内容如下 网上有很多微信公众号的开发教程,但是都是好几年前的了,而且很多都是抄袭其他人的,内容几乎一模一样.真的无语了.只好自己总 ...
- python 微信公众号开发[1] 后台服务器端配置与公众号开发配置
更新时间:2020年3月7日 微信公众号开发的硬件必备条件:(1)申请一个公众号 (2)有公网ip的服务器(最好是阿里云,腾讯云等的云服务器)(3)解析到(2)中服务器地址的域名(阿里云,腾讯云购买即 ...
- Python 微信公众号开发
大三上的时候,对微信公众号开发浅尝辄止的玩了一下,感觉还是挺有意思的.http://blog.csdn.net/marksinoberg/article/details/54235271 后来服务器到 ...
- Python微信公众号开发
摘要: 大三上的时候,对微信公众号开发浅尝辄止的玩了一下,感觉还是挺有意思的.http://blog.csdn.net/marksinoberg/article/details/54235271 后来 ...
- python微信公众号开发音乐功能_python利用微信公众号实现报警功能
python利用微信公众号实现报警功能 发布时间:2020-09-23 09:54:05 来源:脚本之家 阅读:84 作者:Python火火 微信公众号共有三种,服务号.订阅号.企业号.它们在获取Ac ...
- 基于python的微信公众号开发教程_基于python的微信公众号开发教程
应广大python学员的期盼,九宝老师精心制作的"基于python的微信公众号开发"视频教程即将上线. 该课程秉承九宝培训一贯的"简单.高效.快速"的讲课原则, ...
- 基于python的微信公众号开发
最近想自学服务器方面的知识,用微信公众号开发来练手.阅读了一些文章,实践以后总结一下. 租了腾讯云服务器,操作系统为 Ubuntu Server 14.04.1 LTS 64位,分配了一个公网IP地址 ...
- Python微信公众号后台开发003:自定义菜单
有同学问道微信公众号后台开发的自定义菜单怎么实现? 这个问题本来想放到后面的,因为的确对公众号的影响挺明显的, 因为开启后台服务,公众号的自定义菜单就不见了,很影响使用, 也有同学问这个问题,就提前了 ...
- 视频教程-基于python的微信公众号开发教程-微信开发
基于python的微信公众号开发教程 微信企业号星级会员.10多年软件从业经历,国家级软件项目负责人,主要从事软件研发.软件企业员工技能培训.已经取得计算机技术与软件资格考试(软考)--"信 ...
最新文章
- Linux压缩和解压缩命令集
- 单应性Homograph估计:从传统算法到深度学习
- GLM+广义线性模型
- 最大的问题是没有发现问题之一:谈谈滥用继承
- STM32的ISP升级详解
- Postman 使用 “status“: 415, “error“: “Unsupported Media Type“, “message“: “Content type ‘app
- iptables中关于limit和limit-burst的解释
- ios网址解析中,中文部分如何处理
- PHP5魔术函数与魔术常量
- java 新建菜单选项_请完成下列Java程序:创建一个下拉式菜单,菜单项包括3个CheckboxM..._考试资料网...
- python input 文件路径_python – 将目录路径作为用户输入的正确方法是什么?
- SpringBoot2.1.5 (9)--- GET 请求
- 【TensorFlow-windows】(零)TensorFlow的安装
- Python 字典(Dictionary) 基本操作
- tf卡可以自己裁剪成nm卡_[Vivado 2020.1]ZYNQ7020折腾之路(四)之荔枝糖Hex固化程序到TF卡...
- rapidminer java_在Java应用程序中集成RapidMiner
- Android Switch禁止手动切换状态
- 开发一个app需要多少钱、APP开发需要投入多少资金?
- XiaoHu.ai开发日志(自2018年2月6日至2019年4月11日)
- 使用迅搜制作站内搜索引擎-整合篇
热门文章