广州大彩串口屏论坛_大彩开发者交流论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1260|回复: 0

【系列教程】LUA网页操作教程【4】-VisualTFT中提取网页文字

[复制链接]

63

主题

232

帖子

3788

积分

版主

大彩爱好者Q群14769485

Rank: 7Rank: 7Rank: 7

积分
3788
QQ
发表于 2025-2-23 21:39:39 | 显示全部楼层 |阅读模式
本帖最后由 小逸老师 于 2025-2-23 22:00 编辑

接着上篇(【系列教程】LUA网页操作教程【3】-VisualTFT中提取网页源码)继续

备注:不管是后续操作什么网站,需要注意的是网站文字编码与大彩控件字体编码、网站提交的页面是否需要cookie、网站页面是否能兼容http模式等。

在上一篇我们成功获得了网页的源代码,因为源代码字节比较大,所以我们先进行第一次截取(去除多余的源代码)以节省后续的操作效率。

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.   <meta charset="UTF-8">
  5.   <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.   <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7.   <title>广州大彩专注组态串口屏,国内首创《虚拟串口屏》,大彩屏无需购买硬件!主营串口屏,串口显示屏,86面板,串口彩屏,触摸屏,HMI人机界面</title>
  8.   <meta name="keywords" content="串口屏,工业串口屏,组态屏,大彩屏,串口显示屏,86面板,串口彩屏,触摸屏,HMI人机界面" />
  9.   <meta name="description" content="广州大彩始终专注组态串口屏,工业串口屏,串口显示屏,86面板,串口彩屏,触摸屏,大彩屏是人机界面的技术创新,大彩不断优化串口屏硬件和上位机功能,咨询电话(020)82186683-601" />
  10.   <link rel="stylesheet" href="/Public/css/bootstrap.min.css">
  11.   <link rel="stylesheet" href="/Public/css/style1.css">
  12.   <script src="/Public/js/jquery-1.10.2.min.js"></script>
  13.   <script src="/Public/js/bootstrap.min.js"></script>
  14.   <script src="/Public/js/jquery.kinMaxShow-1.1.min.js" type="text/javascript" charset="utf-8"></script>
  15.   <script type="text/javascript" src="/Public/js/jquery.flexslider-min.js" ></script>
  16.   <script src="/Public/js/public.js"></script>
  17. </head>
  18. <body>
  19.   <div id="header">
  20.     <div class="w1200 tr">
  21.         <!-- <span><img src="/Public/images/language.png" alt="language"></span>
  22.         <a href="https://www.gz-dc.com/">中文</a> | <a href="https://www.gz-dc.com/category/typeid/95">English</a> -->
  23.     </div>
  24. </div>
  25. <div class="top">
复制代码
因为我们目前只需要提取出网页编码文字和网页标题(title)文字,所以我们分析html代码先进行第一步提取:
<head> 左标记
</head> 右标记
将获得
  1. <meta charset="UTF-8">
  2. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  3. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  4. <title>广州大彩专注组态串口屏,国内首创《虚拟串口屏》,大彩屏无需购买硬件!主营串口屏,串口显示屏,86面板,串口彩屏,触摸屏,HMI人机界面</title>
  5. <meta name="keywords" content="串口屏,工业串口屏,组态屏,大彩屏,串口显示屏,86面板,串口彩屏,触摸屏,HMI人机界面" />
  6. <meta name="description" content="广州大彩始终专注组态串口屏,工业串口屏,串口显示屏,86面板,串口彩屏,触摸屏,大彩屏是人机界面的技术创新,大彩不断优化串口屏硬件和上位机功能,咨询电话(020)82186683-601" />
  7. <link rel="stylesheet" href="/Public/css/bootstrap.min.css">
  8. <link rel="stylesheet" href="/Public/css/style1.css">
  9. <script src="/Public/js/jquery-1.10.2.min.js"></script>
  10. <script src="/Public/js/bootstrap.min.js"></script>
  11. <script src="/Public/js/jquery.kinMaxShow-1.1.min.js" type="text/javascript" charset="utf-8"></script>
  12. <script type="text/javascript" src="/Public/js/jquery.flexslider-min.js" ></script>
  13. <script src="/Public/js/public.js"></script>
复制代码
这样我们后续再操作这个html代码时就精简了不少了。下面是在Http回调函数中进行第一次截取
  1. function on_http_response(taskid,retdata)
  2.     retdata = string_midmatch(retdata,"<head>","</head>")--使用e_module.lua中封装好的函数,或者您可以将此函数和相关依赖的代码拷贝到你的业务代码文件中
  3.     print(retdata)
  4. end
复制代码
截取完毕后我们就开始提取网页编码文字和网站标题了
  1. function on_http_response(taskid,retdata)
  2.     retdata = string_midmatch(retdata,"<head>","</head>")--第一次截取去除多余的代码
  3.     local web_charset = string_midmatch(retdata,'charset="','">')--以标志取出中间文字提取出网站编码文字,这里因网页代码中所用了双引号,所以Lua脚本里用的单引号。
  4.     local web_title = string_midmatch(retdata,"<title>","<")--以标志取出中间文字提取出网站标题
  5.     set_text(0,1,web_charset)--显示网站编码文字到控件
  6.     set_text(0,2,web_title)--显示网站标题文字到控件
  7. end
复制代码



这里就成功提取出了网页的文字,但是因为VisualTFT默认用的是gb2312编码,而网页用的是utf8编码所以出现了乱码,这里我们还需要在VisualTFT中将控件的字体进行修改,修改方式请参考论坛我点击我

到此处get方式获取网页内容到此完毕,后续将进行讲解简单的post方式

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
大彩爱好者Q群14769485
点我下载→TFT【易模块】封装好的函数库
点我下载→TFT屏可中文lua编辑器【好用】
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|广州大彩串口屏论坛_大彩开发者交流论坛

GMT+8, 2025-5-9 12:28 , Processed in 0.056132 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表