教育经历
- 北京科技大学 2020.09-2023.06
计算机与通信工程学院 计算机科学与技术 硕士(保研)
- 北京科技大学 2016.09-2020.06
计算机与通信工程学院 通信工程 本科
hanfangyuan_ustb@163.com
从零搭建微信机器人(一):注册企业微信创建应用
从零搭建微信机器人(二):发送文本消息
从零搭建微信机器人(三):定时触发任务
从零搭建微信机器人(四):封装消息发送接口
本项目的源码链接:hanfangyuan/wechat-robot,本文对应仓库tag为4.0
在上一篇从零搭建微信机器人(三):定时触发任务中,我们学会了定时向微信发送消息,本篇将要把微信消息发送功能封装为一个类,便于后续发送其他更为复杂的消息。另外,还将介绍使用linux的screen命令保持程序的后台运行。
python支持面向对象编程,在以前的博文中只是简单实现了消息发送的功能,并没有考虑保存token以及token过期这种情况的处理。把消息发送的功能封装成一个完整而单纯的类,只负责实现向微信发送消息,具体推送的消息内容在其他地方实现,这样代码结构更清晰,也便于代码的复用。
从零搭建微信机器人(一):注册企业微信创建应用
从零搭建微信机器人(二):发送文本消息
从零搭建微信机器人(三):定时触发任务
从零搭建微信机器人(四):封装消息发送接口
本项目的源码链接:hanfangyuan/wechat-robot,本文对应仓库tag为3.0
在上一篇从零搭建微信机器人(二):发送文本消息中,我们已经知道了如何向微信发送文本消息,本篇博客将要介绍如何通过设置定时触发任务,自动向微信发送消息。
apscheduler的全称是advanced python scheduler,使用pip命令直接安装pip install apscheduler
从零搭建微信机器人(一):注册企业微信创建应用
从零搭建微信机器人(二):发送文本消息
从零搭建微信机器人(三):定时触发任务
从零搭建微信机器人(四):封装消息发送接口
本项目的源码链接:hanfangyuan/wechat-robot,本文对应仓库tag为2.0
在上一篇从零搭建微信机器人(一):注册企业微信创建应用中,我们注册了企业微信,并且创建了机器人应用,本篇博客将要介绍如何向微信发送消息。
我是用一台云服务器部署的机器人,操作系统是Ubuntu 18.04。不过由于用的是python编写的程序,跟操作系统没有多大关系。我使用的python版本为3.6.13,推荐使用conda创建python虚拟环境,linux上conda的使用可以参考文章miniconda安装与使用,虚拟环境创建命令如下:conda create --name wechat_robot python=3.6
本篇文章主要用到requests包,conda activate wechat_robot
进入虚拟环境,pip install requests
安装。
从零搭建微信机器人(一):注册企业微信创建应用
从零搭建微信机器人(二):发送文本消息
从零搭建微信机器人(三):定时触发任务
从零搭建微信机器人(四):封装消息发送接口
本项目的源码链接:hanfangyuan/wechat-robot
前段时间自己用python搭建了微信机器人玩了玩,微信web端应该都被禁用了,目前主流的方法就是通过企业微信的api往微信推送消息。虽然利用的是企业微信的接口,但是同样兼容微信,完全可以向微信推送消息并通知。
大部分网络摄像机,比如海康威视都支持rtsp协议视频流,但是web一般是无法直接播放rtsp协议视频流的,需要在服务器上把rtsp视频流转换成web其他协议。本篇博客介绍利用ffmpeg、nginx、flvjs实现web浏览rtsp视频流。主要参考了文章【入门】无插件web直播解决方案,ffmpeg+nginx-http-flv-module+flv.js、Nginx+FFmpeg 海康、大华NVR实现rtsp转flv实时预览+录像回放
所用到的服务器操作系统为ubuntu20.04。
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true