微信程序化Talk之Wxpy

Python

自从学了Python后,觉得代码啥都能干(除了生孩子,o(∩_∩)o )。

1. 调用shell操纵电脑上的各种软件:

import win32api
app= application.Application().start(r'notepad.exe C:\Users\admin\Desktop\Python Code\Test_code1\tmp.txt')

2. 网站爬虫:

# -*- coding:utf-8 -*-
import requests
url = 'https://www.dy2018.com/html/gndy/dyzz/index.html'
user_agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64)'
headers = {'User-Agent': user_agent}
r = requests.get(url)
html = requests.get(url, headers=headers).text
html = html.encode(r.encoding)
html = html.decode("gbk")
print html

3. 发送电子邮件:

# coding: utf-8
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.header import Header
from email import encoders
# 设置smtplib所需的参数
# 下面的发件人,收件人是用于邮件传输的。
smtpserver = 'smtp.163.com'
username = '******@163.com'
password = '******'#授权码
sender = '******@163.com'
# 收件人为多个收件人
receiver = ['******@qq.com']
subject = 'Python email test'
# 通过Header对象编码的文本,包含utf-8编码信息和Base64编码信息。
# 构造邮件对象MIMEMultipart对象
# 下面的主题,发件人,收件人,日期是显示在邮件页面上的。
msg = MIMEMultipart('mixed')
msg['Subject'] = subject
# msg['From'] = '******@163.com <******@163.com>'username + " " + '<' + sender + '>'
msg['From'] = username + " " + '<' + sender + '>'
# 收件人为多个收件人,通过join将列表转换为以;为间隔的字符串
msg['To'] = ";".join(receiver)
# 构造文字内容
text = "Hi!\nHow are you?\nHere is the link you wanted:\nhttp://www.baidu.com"
text_plain = MIMEText(text, 'plain', 'utf-8')
msg.attach(text_plain)
# 构造图片链接
filepath=r'C:\Users\admin\Desktop\Python Code\Test_code1\jpg\副本.jpg'
sendimagefile = open(filepath.decode('utf-8'), 'rb').read()
image = MIMEImage(sendimagefile)
filename="test.jpg"
image.add_header("Content-Disposition", "attachment", filename=('gbk', '', filename))
msg.attach(image)
# 构造附件
filepath=r'C:\Users\admin\Desktop\test.pdf'
sendfile = open(filepath.decode('utf-8'), 'rb').read()
text_att = MIMEText(sendfile, 'base64', 'gbk')
text_att["Content-Type"] = 'application/octet-stream'
filename="测试.pdf"
# 附件名称为中文时的写法
text_att.add_header("Content-Disposition", "attachment", filename=('gbk', '', filename))
msg.attach(text_att)
# 发送邮件
smtp = smtplib.SMTP()
smtp.connect('smtp.163.com')
# 我们用set_debuglevel(1)就可以打印出和SMTP服务器交互的所有信息。
smtp.login(username, password)
smtp.sendmail(sender, receiver, msg.as_string())
smtp.quit()

列举以上几个功能后,我又发现了一个好玩的Python模块-wxpy。

wxpy介绍:https://wxpy.readthedocs.io/zh/latest/index.html
在cmd中安装wxpy:pip install -U wxpy -i "https://pypi.doubanio.com/simple/"


然后一个简单示例(先导入wxpy模块;然后实例化Bot对象并保存缓存,这样做能在后面的程序调试中在手机上确认,而不必每次都扫描二维码,更方便些;最后给file_helper,也就是文件传输助手发一条信息):

# -*- coding:utf-8 -*-
from wxpy import *
bot = Bot(cache_path=True)
#bot = Bot()
bot.file_helper.send("hello, I'm a robot!")
给文件传输助手发一条消息!

接下来我们将实现给指定好友发送文字图片,并实现用图灵机器人与好友聊天等基本功能。


代码视频展示.gif

实时图灵机器人聊天视频.gif

最后po出完整代码,感觉挺好玩的。有时候也可以编写程序实时推送关键新闻或者天气给自己。还可以在某些大型项目的结尾加上wxpy模块调用微信,结束的时候将仿真结果或者图片规范化,给自己发一条微信。甚至可以让对面的微信能在每一次仿真结束后都询问并接收你发出的新指令,进行变量修改后再继续建模仿真调试。

# -*- coding:utf-8 -*-
from wxpy import *
bot = Bot(cache_path=True)
# 查找到要使用机器人来聊天的好友
my_friend = (bot.search(u'花花'))
print my_friend
number=int(raw_input("需要选择第几个?请输入:"))
my_friend=my_friend[number-1]
# 发送文本
my_friend.send('Hello,  I am a robot!')
# 发送图片
my_friend.send_image('test.jpg')
# 发送文件
my_friend.send_file('test.txt')

my_friend.send('Tuling robot API')
# 调用图灵机器人API
tuling = Tuling(api_key='4a0488cdce684468b95591a641f0971d')
# 使用图灵机器人自动与指定好友聊天
@bot.register(my_friend)
def reply_my_friend(msg):
    tuling.do_reply(msg)
embed()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,165评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,503评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,295评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,589评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,439评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,342评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,749评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,397评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,700评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,740评论 2 313
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,523评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,364评论 3 314
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,755评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,024评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,297评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,721评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,918评论 2 336

推荐阅读更多精彩内容

  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    小迈克阅读 2,938评论 1 3
  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,425评论 6 428
  • 英文原版:https://github.com/vinta/awesome-python中文版:https://g...
    会灰的大飞狼阅读 3,595评论 1 56
  • Python资源大全中文版,包括:Web框架、网络爬虫、模板引擎、数据库、数据可视化、图片处理等,由伯乐在线持续更...
    dxl1236阅读 4,602评论 2 33
  • 蜡烛爆炸 吹灭山火 冰冷的喊声 荒唐涌动 欲望和自由 撕扯牢房 挖出罪犯的眼睛 嵌在石像的额头 从此石像有了生命 ...
    狐夕阅读 312评论 2 0