首先需要了解二维码,二维码即保存数据的一个容器。微信自己让别人添加好友的二维码同样如此,我们需要把url从微信的二维码中提取出来,在加入到自己准备的背景中。完成~
需要的库
MyQR,pyzbar,PIL (在python 3.0以上版本 不支持zbar,所以我们使用pyzbar)
pip install MyQR
pip install pyzbar
pip install PIL
*** 作步骤
1、选择自己需要的背景图
2、把原版微信添加好友的二维码保存到手机
3、py文件根目录下创建三个文件夹保存,解析,图片分别在解析和图片中放出2、1、步骤找到的图片
解析
import pyzbar.pyzbar as pyzbar
from PIL import Image
# 打开含有二维码的图片
img = Image.open(r'D:\python\二维码\解析\1.jpg').convert('L')
#获取图片的尺寸
width, height = img.size
print('图片大小:',img.size)
barcodes = pyzbar.decode(img)
for barcode in barcodes:
barcodeData = barcode.data.decode("utf-8")
print(barcodeData)
barcoderect=barcode.rect
qr_size=list(barcoderect)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
运行结果:
图片大小: (1080, 2220)
https://u.wechat.com/IP_UrJFB0Hd6xnFG52eQpAI
制作
代码如下:
from MyQR import myqr
myqr.run(words="https://u.wechat.com/IP_UrJFB0Hd6xnFG52eQpAI",
version=5,
picture=r'D:\\python\\二维码\图片\1.png',
colorized=True,
save_name="33.png",
save_dir="D:\python\二维码\保存")
1
2
3
4
5
6
7
1
2
3
4
5
6
7
等待输出。
朋友圈很多人都想学python,有一个很重要的原因是它非常适合入门。对于 人工智能算法 的开发,python有其他编程语言所没有的独特优势, 代码量少 ,开发者只需把精力集中在算法研究上面。
本文介绍一个用python开发的,自动与美女尬聊的小软件。以下都是满满的干货,是我工作之余时写的,经过不断优化,现在分享给大家。那现在就让我们抓紧时间开始吧!
准备:
编程工具IDE:pycharm
python版本: 3.6.0
首先新建一个py文件,命名为:ai_chat.py
PS: 以下五步的代码直接复制到单个py文件里面就可以直接运行。为了让读者方便写代码,我把代码都贴出来了,但是排版存在问题,我又把在pycharm的代码排版给截图出来。
第一步: 引入关键包
简单介绍一下上面几个包的作用: pickle 包 是用来对数据序列化存文件、反序列化读取文件,是人类不可读的,但是计算机去读取时速度超快。(就是用记事本打开是乱码)。 而 json包 是一种文本序列化,是人类可读的,方便你对其进行修改(记事本打开,可以看到里面所有内容,而且都认识。) gensim 包 是自然语言处理的其中一个python包,简单容易使用,是入门NLP算法必用的一个python包。 jieba包 是用来分词,对于算法大咖来说效果一般般,但是它的速度非常快,适合入门使用。
以上这些包,不是关键,学习的时候,可以先跳过。等理解整个程序流程后,可以一个一个包有针对性地去看文档。
第二步:静态配置
这里path指的是对话语料(训练数据)存放的位置,model_path是模型存储的路径。
这里是个人编程的习惯,我习惯把一些配置,例如:文件路径、模型存放路径、模型参数统一放在一个类中。当然,实际项目开发的时候,是用config 文件存放,不会直接写在代码里,这里为了演示方便,就写在一起,也方便运行。
第三步: 编写一个类,实现导数据、模型训练、对话预测一体化
首次运行的时候,会从静态配置中读取训练数据的路径,读取数据,进行训练,并把训练好的模型存储到指定的模型路径。后续运行,是直接导入模型,就不用再次训练了。
对于model类,我们一个一个来介绍。
initialize() 函数和 __init__() 函数 是对象初始化和实例化,其中包括基本参数的赋值、模型的导入、模型的训练、模型的保存、最后返回用户一个对象。
__train_model() 函数,对问题进行分词,使用 gesim 实现词袋模型,统计每个特征的 tf-idf , 建立稀疏矩阵,进而建立索引。
__save_model() 函数 和 __load_model() 函数 是成对出现的,很多项目都会有这两个函数,用于保存模型和导入模型。不同的是,本项目用的是文件存储的方式,实际上线用的是数据库
get_answer() 函数使用训练好的模型,对问题进行分析,最终把预测的回答内容反馈给用户。
第四步:写三个工具类型的函数,作为读写文件。
其中,获取对话材料,可以自主修改对话内容,作为机器的训练的数据。我这里只是给了几个简单的对话语料,实际上线的项目,需要大量的语料来训练,这样对话内容才饱满。
这三个工具函数,相对比较简单一些。其中 get_data() 函数,里面的数据是我自己编的,大家可以根据自己的习惯,添加自己的对话数据,这样最终训练的模型,对话方式会更贴近自己的说话方式。
第五步: 调用模型,进行对话预测
主函数main(), 就是你整个程序运行的起点,它控制着所有步骤。
运行结果:
程序后台运行结果:
如果有疑问想获取源码( 其实代码都在上面 ),可以后台私信我,回复:python智能对话。 我把源码发你。最后,感谢大家的阅读,祝大家工作生活愉快!
安装模块1.生成微信对象
bot = Bot() #初始化一个对象,就相当于拿到了这个人的微信,后续的一些 *** 作都要用它来完成
2.分别找到微信对象的好友,聊天对象,朋友,群组,公众号
friends = bot.friends() # 获取朋友
chats = bot.chats() # 获取聊天对象
groups = bot.groups() #获取群聊
maps = bot.maps() #获取公众号
拿到的都是列表 如果要取到对象加上角标[0] 但是这样很麻烦 推荐方法,这样写
ensure_one(bot.groups().search('东宝中学优秀校友群'))
3. 查找某个好友
friend = bot.friends().search('袁勇')[0]
4.向好友发送消息
5.统计微信好友的信息,比如男女比例,地域分配,等等
bot.friends().stats_text()
6.监听群里面某个人的消息
7.接入图灵机器人 让机器人来回复好友信息
8.设置最大保存信息条数,并且可以搜索
9.用微信监控你的程序
1.获得专用logger
2.指定一个群为消息接受者
3.将异常消息发送到指定对象那里
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)