基于WxPusher实现微信消息推送
最近找到一个公众号(WxPusher消息推送平台),提供了api接口和开发文档,可以借助python程序实现每日的消息推送,通过发送post请求,用户只需要扫描二维码就能实现推送的功能,并且支持群发。详细如下:
这里将每日的天气和一些文案信息爬取出来整合成字符串作为信息加入到待推送的信息中。
1、将要爬取的天气等信息整理成字符并封装成函数作为返回值返回,方便后面调用。
# 获取信息
def get_info():url1 = '' # 要爬取的天气预报网站(此处抹去)url2 = '' # 文案网站(此处抹去)header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) ''AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36'}response2 = requests.get(url2, headers=header) # 发送网络请求response2.encoding = 'utf-8' # 编码html2 = etree.HTML(response2.text) # 解析html字符串global numberdiv_all2s = html2.xpath('.//div[@class="mbox fl"]//div[@class="content"]/p[{page}]//text()'.format(page=number))div_all2 = processing(div_all2s)copywritting = div_all2response1 = requests.get(url1,headers=header) # 发送网络请求response1.encoding = 'utf-8' # 编码html1 = etree.HTML(response1.text) # 解析html字符串div_all1 = html1.xpath('//dl[@class="weather_info"]')for div in div_all1:names = div.xpath('.//a/@title')name = processing(names)areas = div.xpath('.//dd[@class="name"]//h1/text()')area = processing(areas)name = '今日' + nametimes=div.xpath('.//dd[@class="week"]/text()')time=processing(times)brief_times = time.split('日')[0]brief_time = processing(brief_times)Ts = div.xpath('.//dd[@class="weather"]//span//text()')T = processing(Ts)humid_1 = processing(div.xpath('.//dd[@class="shidu"]/b[1]//text()'))humid_2 = processing(div.xpath('.//dd[@class="shidu"]/b[2]//text()'))humid_3 = processing(div.xpath('.//dd[@class="shidu"]/b[3]//text()'))humid = humid_1 + '\n' + humid_2 + '\n' + humid_3air_qualitys = div.xpath('.//dd[@class="kongqi"]/h5/text()')air_quality = processing(air_qualitys)pms = div.xpath('.//dd[@class="kongqi"]/h6/text()')pm = processing(pms)suns = div.xpath('.//dd[@class="kongqi"]/span/text()')sun = processing(suns)cartoon = """へ /|/\7 ∠_// │ / /│ Z _,< / /`ヽ│ ヽ / 〉Y ` / /イ● 、 ● ⊂⊃〈 /() へ | \〈>ー 、_ ィ │ /// へ / ノ<| \\ヽ_ノ (_/ │//7 |/>―r ̄ ̄`ー―_6"""weather_condition = (name + ': \n' +'时间: ' + time + '\n\n' + '温度: ' + T + '\n\n' + humid + '\n' + air_quality + '\n'+ pm + '\n' + sun + '\n\n' + cartoon)global summarysummary = brief_time + '日' + area + ':' + '\n\n' + ' ! ' + T + ' !' + '\n\n' + sun + '\n\n' + copywrittingreturn (weather_condition)
2、发送post请求,将要推送的信息传递出去。
url='http://wxpusher.zjiecode.com/api/send/message'headers = {"content-type":"application/json"}dat={"appToken":"AT_7zKfBalcmZEPARaha0guEr5crjsrVOZh","content":get_info(), # 调用函数,获取推送的内容"summary":summary,#消息摘要,显示在微信聊天页面或者模版消息卡片上,限制长度100,可以不传,不传默认截取content前面的内容。"contentType":1,#内容类型 1表示文字 2表示html(只发送body标签内部的数据即可,不包括body标签) 3表示markdown"topicIds":[7826 #发送目标的topicId,是一个数组!!!,也就是群发,使用uids单发的时候, 可以不传。],"uids":[#'UID_GOgrMd1Ad1FEEpRdbY41jl9PGY1x','UID_hBw1gAtLkne1INAQjyy2qS9iyO8o'],"url":"https://www.csdn.net/", #原文链接,可选参数#"verifyPay": false #是否验证订阅时间,true表示只推送给付费订阅用户,false表示推送的时候,不验证付费,不验证用户订阅到期时间,用户订阅过期了,也能收到。
}
#post请求,发送的数据必须放在字典中,通过data参数传递出去
resp=requests.post(url,json=dat,headers=headers)
3、实现效果:
这里附上WxPusher的官方开发文档,上面有详细操作,有兴趣的小伙伴可以尝试,创作不易,希望大家多多支持。
WxPusher 开发文档:https://wxpusher.zjiecode.com/docs/#/
基于WxPusher实现微信消息推送相关推荐
- 基于SpringBoot实现微信消息推送
本微信消息推送实现的功能 1.当天指定城市的天气 2.当天指定城市的最低高气温 3.彩虹屁 技术栈 1.SpringBoot2.7.5 2.JDK1.8 源码链接:weather_push.zip - ...
- 基于Python实现微信消息推送
本文借助github免费的推送服务平台,仓库地址:https://github.com/wxpusher/wxpusher-docs 详细过程如下: 点击注册账户:http://wxpusher.zj ...
- Django实现微信消息推送
一 所需准备条件 微信公众号的分类 微信消息推送 公众号 已认证公众号 服务号 已认证服务号 企业号 基于:微信认证服务号 主动推送微信消息. 前提:关注服务号 环境:沙箱环境 沙箱环境地址: htt ...
- python 全栈开发,Day103(微信消息推送,结算中心业务流程)
python 全栈开发,Day103(微信消息推送,结算中心业务流程) 昨日内容回顾 第一部分:考试题(Python基础)第二部分:路飞相关 1. 是否遇到bug?难解决的技术点?印象深刻的事?- o ...
- Node-Red 实践:企业微信消息推送
一个偶然的机会,认识了node-red.这种拖拽控件编写代码的方式给了我很深刻的印象.能够通过简单的拖拽实现mqtt,http,websocket,tcp的服务,作为基于网络的业务流程demon非常方 ...
- .net 实时通信_基于 RabbitMQ 的实时消息推送
实现服务器端推送的几种方式 Web 应用都是基于 HTTP 协议的请求/响应模式,无法像 TCP 协议那样保持长连接,因此 Web 应用就很难像手机那样实现实时的消息推送.就目前来看,Web 应用的消 ...
- java发送qq消息_Java点餐系统和点餐小程序新加微信消息推送功能
其实想给点餐系统加推送很久了,之前也有单门写过Java版的微信消息推送和云开发版的微信消息推送.之所以一直没有加,也是考虑到大家的学习接受度,因为做订阅消息推送是一个综合性的开发工作. 需要你既要会小 ...
- 【微信早安定时推送3.0最牛版】微信消息推送后 可提醒可顶置,聊天框名称,头像都可修改~
微信早安3.0最牛版重磅推出!!! 全网最全最详细教程,无基础看过的都说好,不白找. 往期推送: 微信早安推送1.0版: https://blog.csdn.net/A_Xunla/article/d ...
- 微信消息推送神器【一封传话】介绍,让消息推送更简单
背景 对于很多个人开发和企业级别的软件开发来说,经常会遇到一些消息推送的场景.如设备报警消息推送.每日天气预报和大盘资讯简报推送等,例如微信公众号消息推送.钉钉消息推送等. 这里以微信消息推送举例,原 ...
最新文章
- 关于java继承中父类方法可见性探讨
- struts(三)——struts框架实现登录示例
- U3D SCENEMANAGER.LOADSCENE是半异步的
- 【CV论文阅读】:Rich feature hierarchies for accurate object detection and semantic segmentation...
- oracle 单表查询 详细图文
- 华谊兄弟出现什么问题_什么是语言训练?这就要从语言问题的出现说起了
- 铁拳nat映射_铁拳如何重塑我的数据可视化设计流程
- 浅谈jQuery的选择器
- 16、1.6 常用Java开发工具
- mysql事务隔离级别回顾
- 最优化算法 之 遗传算法代码实现及说明
- 斐波那契数列(兔子数列)
- 饥荒联机版服务器控制台本地和在线,饥荒联机版服务器代码有哪些_服务器常用指令一览_3DM单机...
- 单链表操作之合并两个单链表
- 宝塔 cpanel_cPanel / WHM许可更改
- 清华张敏教授:个性化推荐研究进展(可解释性、鲁棒性和公平性
- vue设置scrollTop不起作用
- 电脑主板资料库 10 【转至www.ongood.com.tw】【FreeXploiT收集整理】
- 大数据需要学哪些内容
- 电脑很小,电脑声音太小了加满了就是很小声怎么办
热门文章
- 请查收!顶会AAAI 2020录用论文之知识图谱篇
- texstudio 使用方法_Latex加速: TexStudio的安装和使用
- H5页面 点击按钮播放视频,默认全屏播放,取消全屏后播放器自动隐藏
- 嵌入式Linux音频驱动开发
- r语言svr模型_使用R语言建立一个决策树回归模型
- 用U盘装win7纯净版系统提示缺少所需的CD/DVD驱动器设备驱动程序解决办法
- ElementUI:多个Select下拉框存在时调整个别下拉框样式
- Spring Cloud Zookeeper 分布式服务框架搭建常见问题
- PADS从原理图到PCB整体简易流程
- 【FPGA混动】基于FPGA的混沌系统开发