OpenResy+Lua 利用百度识图 将图片地址解析成文字

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: LUA代码:(注:LUA里有一个调用百度识图的接口IP:123.125.115.189(stu.baidu.com),不知为什么我的虚拟机无法解析stu.baidu.com,所以我只能PING出IP来用。

LUA代码:(注:LUA里有一个调用百度识图的接口IP:123.125.115.189(stu.baidu.com),不知为什么我的虚拟机无法解析stu.baidu.com,所以我只能PING出IP来用。)

location /test {
            content_by_lua '
            
                local request_method = ngx.var.request_method;
                local args = nil;
                if "GET" == request_method then
                    args = ngx.req.get_uri_args();
                else
                    ngx.req.read_body();
                    args = ngx.req.get_post_args();
                end
                
                local imageUrl = args["imageUrl"]
            
                function Split(szFullString, szSeparator)
                    local nFindStartIndex = 1
                    local nSplitIndex = 1
                    local nSplitArray = {}
                    while true do
                        local nFindLastIndex = string.find(szFullString, szSeparator, nFindStartIndex)
                        if not nFindLastIndex then
                            nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len(szFullString))
                            break
                            end
                        nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, nFindLastIndex - 1)
                        nFindStartIndex = nFindLastIndex + string.len(szSeparator)
                        nSplitIndex = nSplitIndex + 1
                    end
                    return nSplitArray
                end
            
                local cjson = require "cjson"
                local http = require "resty.http"
                local hc = http:new()

                local ok, code, headers, status, body  = hc:request {                    
                    url = "http://123.125.115.189/n/pc_search?queryImageUrl="..imageUrl,
                    method = "GET", -- POST or GET
                }
                
                local _,aaa = string.find(body,"keywords:\'")
                local bbb = string.find(body,"|default")
                local ccc = string.sub(body,aaa+2,bbb-2)                
                ngx.say(tostring(ccc))                
            ';
        }

HTML代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <title>Untitled</title>
    <script src="http://libs.baidu.com/jquery/1.7.2/jquery.min.js"></script>
</head>

<body>


<input type="button" value = "test" id ="test" />
<input type="text"  id ="imgUrl" />
<input type="button" value = "识图" id ="st" />

</body>

<script>

function unicode2Chr(str) { 
    str=str.replace(/\\/g,"%");
    return unescape(str);

    } 

    $(function(){        
        $("#test").click(function(){
            alert();
            var str = "\x22\\u82f9\\u679c\x22,\x22\\u6307\\u6325\\u5927\\u5e08\x22,\x22\\u51fa\\u67dc\x22";
            var code = str.replace(/\x22/g, "")    
            alert(code);
            alert(unicode2Chr(code));
        });
        
        $("#st").click(function(){
        
            var image_Url = $("#imgUrl").val();
            
            $.ajax({
                type : "POSST",
                async : false,
                url : "/test",
                data:{imageUrl:image_Url},                
                success : function(data) {    
                    var code = data.replace(/\\x22/g, "")                            
                    alert(unicode2Chr(code).replace(/%/g, ""));
                }
            });
        });
        
    });
    
</script>
</html>

 

相关文章
|
数据可视化 搜索推荐 JavaScript
数据可视化大屏百度地图区域掩膜MapMask实现地图指定区域非省市县行政区显示的实战案例解析(JavaScript API GL、个性化地图定制、指定区域经纬度拾取转化)
数据可视化大屏百度地图区域掩膜MapMask实现地图指定区域非省市县行政区显示的实战案例解析(JavaScript API GL、个性化地图定制、指定区域经纬度拾取转化)
968 0
|
4月前
|
数据采集 存储 JSON
自动化数据采集:Lua爬虫与JSON解析的深度整合
自动化数据采集:Lua爬虫与JSON解析的深度整合
|
JavaScript 前端开发 API
python对接API二次开发高级实战案例解析:百度地图Web服务API封装函数(行政区划区域检索、地理编码、国内天气查询、IP定位、坐标转换)
python对接API二次开发高级实战案例解析:百度地图Web服务API封装函数(行政区划区域检索、地理编码、国内天气查询、IP定位、坐标转换)
462 0
|
6月前
|
JSON 前端开发 API
程序技术好文:百度网盘真实地址解析(告别下载百度网盘)
程序技术好文:百度网盘真实地址解析(告别下载百度网盘)
515 0
|
7月前
|
Android开发
Flutter完整开发实战详解(六、 深入Widget原理),2024百度Android岗面试真题收录解析
Flutter完整开发实战详解(六、 深入Widget原理),2024百度Android岗面试真题收录解析
|
7月前
|
Linux
百度搜索:蓝易云【深入解析Linux进程内存:VSS、RSS、PSS、USS及查看方式】
通过以上方法,你可以深入了解Linux进程的内存使用情况,包括VSS、RSS、PSS、USS等指标,帮助你进行性能优化和资源管理。
157 12
|
移动开发 JavaScript 前端开发
数据可视化大屏百度地图手机端标注开发实战案例解析(jsAPI接口、标注分类图片、文本标签、分类筛选、自适应高度信息弹窗、PHP后端API)
数据可视化大屏百度地图手机端标注开发实战案例解析(jsAPI接口、标注分类图片、文本标签、分类筛选、自适应高度信息弹窗、PHP后端API)
211 0
|
数据可视化 前端开发 搜索推荐
数据可视化大屏百度地图GPS轨迹位置感知状态开发实战案例解析(百度地图jsAPI,包含缩放控件、点线覆盖物、弹窗、标注图标分类功能)
数据可视化大屏百度地图GPS轨迹位置感知状态开发实战案例解析(百度地图jsAPI,包含缩放控件、点线覆盖物、弹窗、标注图标分类功能)
302 0
|
定位技术
百度地图开发系列(3):地址逆解析
百度地图开发系列(3):地址逆解析
101 0
|
7月前
|
存储 监控 数据管理
Lua代码解析:实现上网行为监管软件的自定义规则引擎
在当今数字化时代,网络安全和数据隐私保护备受关注。为了确保网络安全和合规性,许多组织和机构需要监管和管理其员工或用户的上网行为。为了实现这一目标,开发一款高效的上网行为监管软件至关重要。本文将介绍如何使用Lua语言开发一种自定义规则引擎,以实现上网行为监管软件的自定义规则引擎。
233 0

推荐镜像

更多
下一篇
DataWorks