微信与python

个人号

可以用itchat,wxpy则是将itchat进一步包装,我只实验了wxpy,可以用来查看好友、群、公众号,也可以聊天,加好友,删好友,基本上所有微信网页版能实现的功能都实现了(其实itchat就是在微信网页版抓包),用起来挺简单的,就不说了,自己查查吧
看了下他们的源代码,发现可以用装饰器来实现实时注册监听,很好用,以前没想到

公众号(微信公众平台有详细教程)

https://mp.weixin.qq.com/ 以及 https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html
itchat用起来很简单,但是必须扫码登录,而且我总担心不知道什么时候就被关闭了,这样业务就不能自动执行了,所以有个公众号还是挺好的,申请好公众号,弄到服务器自动运行美滋滋啊。

申请公众号

公众号分为订阅号和服务号。订阅号每天可发一条消息给粉丝,但是会收录到订阅号文件夹,用户不点开看不到,但是不收费。服务号一个月4条消息,可以一次多条,微信会提醒用户有消息,收费。

在 https://mp.weixin.qq.com/cgi-bin/loginpage?t=wxm2-login&lang=zh_CN 点立即注册

申请服务器

腾讯云,百度云,阿里云,好多云都能自己申请一个服务器,一般都会免费半年,如果还接着想用,一年的费用不同配置不同,最便宜的300多吧,反正是这个量级。

搭建服务器

以web.py为网络框架
pip install web.py==0.40-dev1 (python 3)

# -*- coding: utf-8 -*-
# filename: main.py
import web

urls = (
'/wx', 'Handle',
)

class Handle(object):
def GET(self): #业务逻辑
    return "hello, this is a test"

if __name__ == '__main__':
app = web.application(urls, globals())
app.run()

python main.py 80(公众平台接口调用仅支持80端口。)

如果出现“socket.error: No socket could be created“错误信息,可能为80端口号被占用,可能是没有权限

lsof -i:80 #查看80接口占用情况
kill -9 pid # 解除占用

弄了好久,在自己window10电脑上就能运行,能本机以及手机访问。但是阿里云的服务器就是不行,气死我了,最后发现是安全组的问题,添加一条规则(允许80端口)就好

搭建好服务器后通过 http://外网IP/wx 来访问,申请阿里云服务会免费给外网IP

小应用(密码保存以及微信获取)

现在有各种银行网站等都需要密码,密码个数多了记不住,少了又怕网站泄露导致出问题。我总结对密码保存手段的需求如下:1:随时随地能够获取或者更改。2:安全。3:最好能自动生成密码。现有的集中密码保存手段各有劣势。物理存储(纸张或者硬盘)不能实现1,3;别人的密码保存软件。因为是批量生产的,黑客可以实现一次破解获取所有用户的密码,不安全;放到邮箱。不能实现3;

用订阅号来保存密码是个好选择1:随时随地通过微信可以获取或者更改密码。2:自己在服务端对自己服务,可以实现加密保存。而且属于定制版,对黑客而言收获付出比很小。3:可以根据需要定制密码生成方式。

https://github.com/sxjsgl/wx

你可能感兴趣的:(python)