用python写微信每日一句,Python操作微信

发布时间:2022-11-22

本文目录一览:

  1. 如何给微信好友,每天的8点自动发消息
  2. Python给指定微信好友自动发送信息和图片
  3. python编写微信小程序命令行操作脚本
  4. 如何用Python进行微信二次开发
  5. 我用了100行Python代码,实现了与女神尬聊微信(附代码)
  6. 如何在微信中写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进行微信二次开发

创建步骤:

  1. 申请免费且支持Python的服务器,新浪云SAE,新建SAE应用之后,有两种代码提交方式,建议使用SVN(因为git支持代码提交,但不支持环境配置);
  2. 将对应版本的信息复制到微信开发-基本配置-URL,提交显示错误,因为还没有写代码,可以先用web框架webpy写个网页;
  3. 配置信息,告诉新浪云需要什么运行环境。点击代码管理-编辑代码,将用到的第三方库信息写入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
  1. 假设接收文字信息,按照开发者文档的要求,配置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开发的,自动与美女尬聊的小软件。以下都是满满的干货,是我工作之余时写的,经过不断优化,现在分享给大家。那现在就让我们抓紧时间开始吧!

准备:

  • 编程工具IDEPyCharm
  • 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和文档写前端页面。