本文目录一览:
- 如何给微信好友,每天的8点自动发消息
- Python给指定微信好友自动发送信息和图片
- python编写微信小程序命令行操作脚本
- 如何用Python进行微信二次开发
- 我用了100行Python代码,实现了与女神尬聊微信(附代码)
- 如何在微信中写Python
如何给微信好友,每天的8点自动发消息
CSDN
上已经有不少方法,这边给你推荐一位大佬用Python
写的:(代码是每天晚上发晚安的,复制粘贴后修改即可)
from __future__ import unicode_literals
from threading import Timer
from wxpy import *
import requests
import random
bot = Bot()
# linux执行登陆请调用下面的这句
# bot = Bot(console_qr=2,cache_path="botoo.pkl")
def get_news():
"""获取金山词霸每日一句,英文和翻译"""
url = ""
r = requests.get(url)
content = r.json()['content']
note = r.json()['note']
return content, note
def send_news():
try:
contents = get_news()
# 你朋友的微信名称,不是备注,也不是微信帐号。
my_friend = bot.friends().search('fairy')[0]
my_friend.send(contents[0])
my_friend.send(contents[1])
my_friend.send(u"晚安")
# 每86400秒(1天),发送1次
t = Timer(86400, send_news)
# 为了防止时间太固定,于是决定对其加上随机数
ran_int = random.randint(0,100)
t = Timer(86400+ran_int,send_news)
t.start()
except:
# 你的微信名称,不是微信帐号。
my_friend = bot.friends().search('威风大侠')[0]
my_friend.send(u"今天消息发送失败了")
if __name__ == "__main__":
send_news()
原作者:精神抖擞王大鹏
来源:CSDN
原文:
版权声明:本文为博主原创文章,转载请附上博文链接!
Python给指定微信好友自动发送信息和图片
import os
import win32gui #pywin32-221.win-amd64-py3.7.exe
import win32con
from ctypes import *
import win32clipboard as w
import time
from PIL import Image #pip install pillow
import win32api
def setText(info):
w.OpenClipboard()
w.EmptyClipboard()
w.SetClipboardData(win32con.CF_UNICODETEXT, info)
w.CloseClipboard()
def setImage(imgpath):
im = Image.open(imgpath)
im.save('1.bmp')
aString = windll.user32.LoadImageW(0, r"1.bmp", win32con.IMAGE_BITMAP, 0, 0, win32con.LR_LOADFROMFILE)
def m_click(x,y):
win32api.SetCursorPos((x,y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
def pasteInfo():
win32api.keybd_event(17,0,0,0) #ctrl键位码是17
win32api.keybd_event(86,0,0,0) #v键位码是86
win32api.keybd_event(86,0,win32con.KEYEVENTF_KEYUP,0) #释放按键
win32api.keybd_event(17,0,win32con.KEYEVENTF_KEYUP,0)
def searchByUser(uname):
hwnd = win32gui.FindWindow('WeChatMainWndForPC', '微信')
setText(uname)
m_click(100,40)
time.sleep(0.5)
m_click(100,40)
pasteInfo()
time.sleep(1)
m_click(100,120)#搜索到之后点击
#win32api.keybd_event(13,0,0,0)#回车
#win32api.keybd_event(13,0,KEYEVENTF_KEYUP,0)
#win32gui.SendMessage(hwnd, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)
#win32gui.SendMessage(hwnd, win32con.WM_KEYUP, win32con.VK_RETURN, 0)
def sendInfo():
time.sleep(1)
pasteInfo()
time.sleep(1)
win32api.keybd_event(18, 0, 0, 0) #Alt
win32api.keybd_event(83,0,0,0) #s
win32api.keybd_event(83,0,win32con.KEYEVENTF_KEYUP,0) #释放按键
win32api.keybd_event(18,0,win32con.KEYEVENTF_KEYUP,0)
def closeByUser(uname):
hwnd = win32gui.FindWindow('WeChatMainWndForPC', '微信')
win32api.keybd_event(18,0,0,0) #Alt
win32api.keybd_event(115,0,0,0) #F4
win32api.keybd_event(115,0,KEYEVENTF_KEYUP,0)
win32api.keybd_event(18,0,KEYEVENTF_KEYUP,0)
'''
searchByUser('Tony老师')
setText('Tony老师理发师')
sendInfo()
time.sleep(1)
searchByUser('文件传输助手')
setText('地表最强CPU')
sendInfo()
'''
def getNosuffixImgName(imgname):
return os.path.splitext(imgname)[0]
imgdir='imgs/'
imgs=os.listdir(imgdir)
for img in imgs:
searchByUser(getNosuffixImgName(img))
setImage(imgdir+img)
sendInfo()
time.sleep(1)
python编写微信小程序命令行操作脚本
本次目的是利用Python
编写一个脚本,可以通过命令行向指定appid
上传微信小程序。
如何用Python进行微信二次开发
创建步骤:
- 申请免费且支持
Python
的服务器,新浪云SAE
,新建SAE
应用之后,有两种代码提交方式,建议使用SVN
(因为git
支持代码提交,但不支持环境配置); - 将对应版本的信息复制到微信开发-基本配置-
URL
,提交显示错误,因为还没有写代码,可以先用web
框架webpy
写个网页; - 配置信息,告诉新浪云需要什么运行环境。点击代码管理-编辑代码,将用到的第三方库信息写入
config.yaml
,注意破折号,冒号后面空格!!
libraries:
- name: webpy
version: "0.36"
- name: lxml
version: "2.3.4"
在index.wsgi
文件中写入Python
启动程序:
#coding=utf-8
import os
import sae
import web
from weixinInterface import WeixinInterface
#配置web的路由
urls = (
'/weixin','WeixinInterface'
)
#拼接路径
app_root=os.path.dirname(__file__)
templates_root = os.path.join(app_root,'templates')
#渲染模版
render = web.template.render(templates_root)
#启动app
app = web.application(urls,globals()).wsgifunc()
application = sae.create_wsgi_app(app)
在自己编写的Python
文件中写入微信验证和接受信息的程序:
#coding=utf-8
import hashlib
import web
import time
import os
from lxml import etree
#hashlib用于加密,md5,hash等
#lxml用来解析xml文件
class WeixinInterface(object):
#初始化
def __init__(self):
#拼接路径
self.app_root = os.path.dirname(__file__)
self.templates_root = os.path.join(self.app_root,'templates')
#渲染模版
self.render = web.template.render(self.templates_root)
#使用get方法,接收微信的get请求,看开发者文档的说明
def GET(self):
data = web.input()
signature = data.signature#微信加密签名
timestamp = data.timestamp#时间戳
nonce = data.nonce#随机数
echostr = data.echostr#随即字符串
token = 'zq90857'#自己设置的token
#将token、timestamp、nonce三个参数进行字典序排序
list = [token,timestamp,nonce]
list.sort()
#将三个参数字符串拼接成一个字符串进行sha1加密
sha1=hashlib.sha1()
map(sha1.update,list)
temStr = sha1.hexdigest()#加密
#判断
if temStr == signature:
return echostr
- 假设接收文字信息,按照开发者文档的要求,配置
template
文件夹下reply_text.xml
文件:
$def with(toUser,fromUser,createtime,content)
<xml>
<ToUserName><![CDATA[$toUser]]></ToUserName>
<FromUserName><![CDATA[$fromUser]]></FromUserName>
<CreateTime>$createtime</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[$content]]></Content>
</xml>
我用了100行Python代码,实现了与女神尬聊微信(附代码)
朋友圈很多人都想学Python
,有一个很重要的原因是它非常适合入门。对于人工智能算法的开发,Python
有其他编程语言所没有的独特优势,代码量少,开发者只需把精力集中在算法研究上面。
本文介绍一个用Python
开发的,自动与美女尬聊的小软件。以下都是满满的干货,是我工作之余时写的,经过不断优化,现在分享给大家。那现在就让我们抓紧时间开始吧!
准备:
- 编程工具
IDE
:PyCharm
Python
版本:3.6.0 首先新建一个py
文件,命名为:ai_chat.py
第一步:引入关键包
简单介绍一下上面几个包的作用:
pickle
包:用来对数据序列化存文件、反序列化读取文件,是人类不可读的,但是计算机去读取时速度超快。(就是用记事本打开是乱码)。json
包:是一种文本序列化,是人类可读的,方便你对其进行修改(记事本打开,可以看到里面所有内容,而且都认识)。gensim
包:是自然语言处理的其中一个Python
包,简单容易使用,是入门NLP
算法必用的一个Python
包。jieba
包:是用来分词,对于算法大咖来说效果一般般,但是它的速度非常快,适合入门使用。 以上这些包,不是关键,学习的时候,可以先跳过。等理解整个程序流程后,可以一个一个包有针对性地去看文档。
第二步:静态配置
这里path
指的是对话语料(训练数据)存放的位置,model_path
是模型存储的路径。
这里是个人编程的习惯,我习惯把一些配置,例如:文件路径、模型存放路径、模型参数统一放在一个类中。当然,实际项目开发的时候,是用config
文件存放,不会直接写在代码里,这里为了演示方便,就写在一起,也方便运行。
第三步:编写一个类,实现导数据、模型训练、对话预测一体化
首次运行的时候,会从静态配置中读取训练数据的路径,读取数据,进行训练,并把训练好的模型存储到指定的模型路径。后续运行,是直接导入模型,就不用再次训练了。
对于model
类,我们一个一个来介绍。
initialize()
函数和__init__()
函数:对象初始化和实例化,其中包括基本参数的赋值、模型的导入、模型的训练、模型的保存、最后返回用户一个对象。__train_model()
函数:对问题进行分词,使用gensim
实现词袋模型,统计每个特征的tf-idf
,建立稀疏矩阵,进而建立索引。__save_model()
函数和__load_model()
函数:成对出现的,很多项目都会有这两个函数,用于保存模型和导入模型。不同的是,本项目用的是文件存储的方式,实际上线用的是数据库。get_answer()
函数:使用训练好的模型,对问题进行分析,最终把预测的回答内容反馈给用户。
第四步:写三个工具类型的函数,作为读写文件
其中,获取对话材料,可以自主修改对话内容,作为机器的训练的数据。我这里只是给了几个简单的对话语料,实际上线的项目,需要大量的语料来训练,这样对话内容才饱满。
这三个工具函数,相对比较简单一些。其中get_data()
函数,里面的数据是我自己编的,大家可以根据自己的习惯,添加自己的对话数据,这样最终训练的模型,对话方式会更贴近自己的说话方式。
第五步:调用模型,进行对话预测
主函数main()
,是你整个程序运行的起点,它控制着所有步骤。
运行结果:
程序后台运行结果:
如果有疑问想获取源码(其实代码都在上面),可以后台私信我,回复:Python
智能对话。我把源码发你。最后,感谢大家的阅读,祝大家工作生活愉快!
如何在微信中写Python
使用Python
做后台服务,提供数据接口,用微信小程序提供的前端API
和文档写前端页面。