以前爬虫做验证码识别时用到了tesserocr这个库。经过调试后准确率在60%左右。但网站也不是傻子,弹过几次后。验证码变成中文了。这就不得不用别的方法。最后决定用百度的图文识别的API接口。在百度官网注册后,在python导入AipOcr就可以调用百度API接口了。

from aip import AipOcr

同样在做斗鱼弹幕机器人时,用到了chatterbot这个库,也是需要大量的数据导入和培训。现在由于版本更新以及python里所依赖的包各种冲突,我的环境下已经运行不了chatterbot了。所以我也不造轮子了。同样调用他人的API。

既然是调用别人的东西,所以也简单的多,就放到一起讲。

HTML:

 <div id="picture" class="white_content"><a href="javascript:void(0)"οnclick="document.getElementById('picture').style.display='none';document.getElementById('fade').style.display='none'">点这里关闭本窗口</a><form class="form-horizontal" method="post" action="" enctype="multipart/form-data">{% csrf_token %}<div class="form-group" ><label for="inputImage" class="col-sm-2 control-label">上传图片</label><div class="col-sm-10"><input type="file" name="commodityImage" id="inputImage"></div></div><div class="form-group">    <button type="button" class="btn btn-danger" id="formbtn" style="float: left">提 交</button></div></form><div class="pic-txt" ></div><img id="cropedBigImg" value='custom' alt="" data-address='' title="自定义背景"/></div><div id="chatbot" class="white_content"><a href="javascript:void(0)"οnclick="document.getElementById('chatbot').style.display='none';document.getElementById('fade').style.display='none'">点这里关闭本窗口</a><div class="talk_con"><div class="talk_show" id="words"><div class="atalk"><span id="asay">IP[地区]将作为你的ID</span></div><div class="btalk"><span id="bsay">chatbot:hello!</span></div></div><div class="talk_input"><input type="text" class="talk_word" id="talkwords"><input type="button" value="发送" class="talk_sub" id="talksub"></div></div></div><div id="fade" class="black_overlay"></div></div>

jQuery:

$('#inputImage').on('change', function () { //将上传图片在网页中显示var filePath = $(this).val(),         //获取到input的value,里面是文件的路径fileFormat = filePath.substring(filePath.lastIndexOf(".")).toLowerCase(),src = window.URL.createObjectURL(this.files[0]); //转成可以在本地预览的格式// 检查是否是图片if (!fileFormat.match(/.png|.jpg|.jpeg/)) {error_prompt_alert('上传错误,文件格式必须为:png/jpg/jpeg');return;}$('#cropedBigImg').attr('src', src);});
$('#formbtn').click(function () {   //将上传图片返回后端var formData = new FormData();formData.append("commodityImage", $("#inputImage")[0].files[0]);for(var [key, value] of formData.entries()){console.log(key, value);
}$.ajax({url: 'commodityAdd',type: "post",data: formData,contentType: false,processData: false,success: function (resp) {$(".pic-txt").append(resp);},error: function (err) {alert("出错了")}})
});

聊天机器人这里我将访问者的IP做为id。所以调用搜狐的源。

<script src="https://pv.sohu.com/cityjson?ie=utf-8"></script>
window.onload = function () {   //var Words = document.getElementById("words");var Who = document.getElementById("who");var TalkWords = document.getElementById("talkwords");var TalkSub = document.getElementById("talksub");TalkSub.onclick = function () {//定义空字符串//如果Who.value为0n那么是 A说str = '<div class="atalk"><span>' + returnCitySN['cip'] + '[' + returnCitySN['cname'] + ']' + ':' + TalkWords.value + '</span></div>';Words.innerHTML = Words.innerHTML + str;$.ajax({url: 'chat',type: 'post',data: {content: $('#talkwords').val()},//headers:{"X-CSRFToken":$.cookie("csrftoken")},success: function (data) {console.log(data);str = '<div class="btalk"><span> chatbot:' + data + '</span></div>';Words.innerHTML = Words.innerHTML + str;},error: function (data) {alert(data.status)}});$("#talkwords").val("");}};

views:

def chat(request):  target = r'http://api.qingyunke.com/api.php?key=free&appid=0&msg=' //调用APIprint("=======================")keyword = request.POST.get("content")tmp = target + keywordurl = urllib.parse.quote(tmp, safe=string.printable)page = urllib.request.urlopen(url)html = page.read().decode("utf-8")res = json.loads(html)  # json转为dict,json.loads 用于解码 JSON 数据。该函数返回 Python 字段的数据类型answer = res['content']return JsonResponse(answer, json_dumps_params={'ensure_ascii': False}, safe=False)def commodityAdd(request):commodity_image = request.FILES.get("commodityImage")url = 'pic/' + commodity_image.namewith open(url, mode="wb") as image_file:for content in commodity_image:image_file.write(content)APP_ID = '######'                    #这里将百度API的注册信息填写在此API_Key = 'Iwjv5TEz7yjqcQIHNpDhi9Oi'Secret_Key = 'TBszxHGSbOVxYZc74OBURa74qTYQi93l'client = AipOcr(APP_ID, API_Key, Secret_Key)img = urldef get_file_content(filePath):with open(filePath, 'rb') as fp:return fp.read()image = get_file_content(img)result = client.basicGeneral(image)pattern = re.compile("'words': '(.*?)'")txt = pattern.findall(str(result))back = ''for i in txt:back = back + ireturn JsonResponse(back, json_dumps_params={'ensure_ascii': False}, safe=False)

urls:

path('chat', views.chat, name='chat'),
path('commodityAdd', views.commodityAdd, name='commodityAdd'),

我是拿来主义,既然很多公司都已经做出成熟的产品,拿来用即可。调用他人API可以省很多事。

django建立个人网站(5图文识别以及聊天机器人)相关推荐

  1. 在IIS上建立WAP网站的图文方法

    有很多朋友想要在iis下建立wap网站,默认情况下,iis是不支持的, 需要如下设置即可.需要的朋友可以参考下. 1.创建一个站点文件夹 首先你要创建一个独立于你的主站点的新的站点文件夹(若站点是建立 ...

  2. 【论文泛读97】建立具有情感原因的在线移情聊天机器人

    贴一下汇总贴:论文阅读记录 论文链接:<Towards an Online Empathetic Chatbot with Emotion Causes> 一.摘要 现有的感知情绪的会话模 ...

  3. 【聊天机器人插件】Tidio与SaleSmartly:谁更适合你的网站?

    随着跨境电商行业的迅速发展,相应为网站配套的各类插件也不断被推出,比如可提供24小时自动回复的智能聊天机器人. 最近,一个外国团队就聊天机器人插件,对消费者开展调查问卷,得出了以下结论: l 可有效解 ...

  4. 宝可梦 图片识别python_初探利用Python进行图文识别(OCR)

    话说什么是OCR????? 简介 OCR技术是光学字符识别的缩写(Optical Character Recognition),是通过扫描等光学输入方式将各种票据.报刊.书籍.文稿及其它印刷品的文字转 ...

  5. 百度OCR java-SDK做图文识别

    OCR图文识别技术现广泛应用于银行卡身份证等信息读取.办公文档识别(替代扫描).车辆号码识别.印章.二维码识别等场景,成为人们生活的方便助手.只是,这项技术要使用到AI交互,所以还没有独立的SDK供下 ...

  6. Python之 - 使用Scrapy建立一个网站抓取器,网站爬取Scrapy爬虫教程

    Scrapy是一个用于爬行网站以及在数据挖掘.信息处理和历史档案等大量应用范围内抽取结构化数据的应用程序框架,广泛用于工业. 在本文中我们将建立一个从Hacker News爬取数据的爬虫,并将数据按我 ...

  7. 如何建立一个网站?规划、设计、目的、原则、宣传(三)

    如何建立一个网站?规划.设计.目的.原则.宣传(三) 四.网站的设计制作   1.整体形象设计   在程序员进行详细设计的同时,网页设计师开始设计网站的整体形象和首页.   整体形象设计包括标准字,L ...

  8. tesseract安装使用,人工智,图文识别验证码 系统操作(python)

    这两天自学关于自我感觉很牛的图文识别系统,给你一张图片可以扫描其中的文字(是不是很牛嘿嘿!!!),以下是我在学习过程中所遇到的一点问题.先前在学习之前肯定是安装各种文件,各种包--(头痛--),查过各 ...

  9. 小福利,django搭建个人网站的源码公开(一)

    大家好,我是天空之城,今天给大家带来小福利,django搭建个人网站的源码公开(一) **django框架的原理:**它采用的是MVT架构,m就是model数据模型,就是数据的结构和字段,比如是个人博 ...

最新文章

  1. 认识Backbone (四)
  2. UA MATH567 高维统计I 概率不等式11 Azuma不等式
  3. haproxy1.8安装配置
  4. 第四范式与丘成桐北京雁栖湖应用数学研究院签署战略合作协议
  5. 高能玩家!硬核自制小程序云“肝”动森
  6. mysql数据库进阶_MySQL T2-数据库进阶?
  7. jQuery笔记总结
  8. matlab源代码 语义相似度计算,如何计算两个句子之间的相似度(句法和语义)...
  9. C++语言基础 —— STL —— 算法
  10. 《Python入门到精通》Python基础语法
  11. java如何使用while_java中的while(true)语句的用法是什么
  12. 管理新语:年龄经验并不能让一个医生律师厉害,而是他本来就厉害
  13. 顶岗实习周记java方向_java 实习周记
  14. 汉王速录笔linux驱动下载,汉王速录笔v600驱动 官方版
  15. 抖音短视频在线下载无水印,
  16. kodexplor类似php,Windows 下搭建 PHP + Nginx + KODExplorer
  17. Android11 手动屏幕亮度调节流程代码追踪;
  18. 定时备份脚本分享(网站数据和数据库数据)
  19. 中枢模式发生器(CPG)
  20. 如何知道该不该接受创业公司的工作?

热门文章

  1. 【学术】写文章的框架
  2. ASPX一句话及一句话客户端
  3. 男生哪个瞬间让你心疼?
  4. wuc-tab标签点击不了_微信公众号新增标签功能,格力被中国移动取消竞标资格,全国电子无偿献血证上线,QQ新增辣椒酱表情,这就是今天的其他大新闻!...
  5. ctrl+alt+t 函数注释快捷键失效KoroFileHeader
  6. JavaScript系列---for循环(打印星星)
  7. 生命如此脆弱——2012观后感
  8. 【01Studio MaixPy AI K210】1.LED
  9. 【动态规划】钢条切割问题
  10. 有贵人相助顶你三年兢兢业业---养浩有感