【python】模拟淘宝的客服自动回复系统-socket,json,time模块的应用

  最近在研究soctet模块的过程中,尝试做个小的练习,第一反应是做个类似qq或者微信的即时聊天,这个需求相对比较简单,采用UDP协议很快就可以实现,为了提高点难度,于是决定尝试模拟淘宝的自动回复功能,决定要实现以下几个功能:

1.客户端输入问题,抓取关键词后自动回复
2.关键词的回复,也就是话术的内容,放到txt文档中,可以根据固定的格式增删改查,比如在txt文档中增加或者减少内容,代码执行不受影响
3.聊天结束后,自动保存聊天记录
先说下代码结构吧:

读取要回复的内容
生成关键词列表
起server服务
开始记录时间
接收信息
while 循环判断关键词
|—如果输入q,bye,再见等直接退出
|—否则,循环匹配关键词列表中的字段
|—如果匹配成功,打印对应字典的值
|—不匹配,打印字典中对应的”其他“对应的值

用到的知识点:
1.socker模块
socket.bind() 将套接字绑定到地址
socker.listen() 开始监听TCP传入连接
s.accept() 接受TCP连接并返回(conn,address)
s.connect(address) 连接到address处的套接字
s.recv(bufsize[,flag]) 接受TCP套接字的数据
s.send(string[,flag]) 发送TCP数据

2.json模块
json.load(f) 从文件中导入数据,因为导入的是字典类型的数据,所以用了json模块

第一步:json导入关键词,生成关键词列表

import json
import socket
import time
print('欢迎光临XXX天猫店,很高兴为您服务\n')
# 导入关键词列表
answer_list=[]
with open('answer','r',encoding='utf-8') as f:
    dic=json.load(f)
for i in dic:
    answer_list.append(i)

第二步:server端服务,同时开始记录聊天记录

sk=socket.socket()
sk.bind(('127.0.0.1',8080))
sk.listen()
conn,addr=sk.accept()
conn
  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力学python的设计师

一年后再回首,为自己的成长惊喜

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值