.版本 2
.支持库 gregn6
.支持库 RegEx
.支持库 spec

.程序集 窗口程序集_启动窗口
.程序集变量 程序_主报表, 报表

.子程序 _按钮1_被单击


程序_主报表.挂接事件 (报表事件1)
查询显示器1.刷新 ()

.子程序 __启动窗口_创建完毕

查询显示器1.停止 ()
程序_主报表.从文件加载报表 (取运行目录 () + “\网页.grf”)
查询显示器1.设置关联报表 (程序_主报表)
查询显示器1.启动 ()


.子程序 _报表事件1_请求记录数据
.局部变量 局_解析数组, 文本型, , "0"
.局部变量 局_解析, 文本型
.局部变量 i, 整数型
.局部变量 网页返回数据, 字节集
.局部变量 网页源码1, 文本型
.局部变量 网页源码2, 文本型
.局部变量 索引, 整数型
.局部变量 局_结果, 搜索结果, , "0"
.局部变量 局_正则1, 正则表达式类, , , 此类为精易模块里面的正则类,精易模块下载地址:http://ec.125.la/
.局部变量 局_匹配数1, 整数型
.局部变量 局_计次1, 整数型
.局部变量 局_子匹配数1, 整数型
.局部变量 局_正则2, 正则表达式类, , , 此类为精易模块里面的正则类,精易模块下载地址:http://ec.125.la/
.局部变量 局_匹配数2, 整数型
.局部变量 局_计次2, 整数型
.局部变量 局_子匹配数2, 整数型
.局部变量 异动原因, 文本型
.局部变量 UserAgent, 文本型
.局部变量 web源码, 文本型

' 网页返回数据 = 网页_访问_对象 (编辑框1.内容)
' 网页源码1 = 编码_Utf8到Ansi (网页返回数据)
UserAgent = “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.200”
网页源码1 = 网页_访问S (编辑框1.内容, 0, , , , UserAgent, , , , , , , , , , , , , , , )

编辑框2.内容 = 网页源码1

.如果真 (局_正则2.创建 (“isshow=(.*?).name=(.*?);(.*?)}}}]”, 网页源码1, 假, 假, 真, 真) = 假)
    信息框 (“正则创建失败,请检查正则表达式语句是否有误!”, #错误图标, , )
.如果真结束

.' 如果真 (局_正则2.创建 (“action_field_id:.?.?,name:(.*?),date:.*?code:.*?,isshow:”, 网页源码1, 假, 假, 真, 真) = 假)
    ' 信息框 (“正则创建失败,请检查正则表达式语句是否有误!”, #错误图标, , )
.如果真结束

局_匹配数2 = 局_正则2.取匹配数量 ()
调试输出 (局_正则2.取匹配数量 ())

.计次循环首 (局_匹配数2, 局_计次2)
    网页源码2 = 局_正则2.取匹配文本 (局_计次2)
    调试输出 (局_正则2.取子匹配文本 (局_计次2, 2))
    异动原因 = 子文本替换 (子文本替换 (局_正则2.取子匹配文本 (局_计次2, 2), #引号, , , , 真), “\u002F”, “/”, , , 真)
    .' 如果 (取文本长度 (局_正则2.取子匹配文本 (局_计次2, 1)) > 30)
        ' 异动原因 = “公告”
    .否则
        ' 异动原因 = 子文本替换 (子文本替换 (局_正则2.取子匹配文本 (局_计次2, 1), #引号, , , , 真), “\u002F”, “/”, , , 真)
    .如果结束

    ' 调试输出 (网页源码2)
    .如果真 (局_正则1.创建 (“code:(.*?),name:(.*?),article:.*?price:(.*?),day:.*?expound:(.*?),is_crawl:.*?user:”, 网页源码2, 假, 假, 真, 真) = 假)
        信息框 (“正则创建失败,请检查正则表达式语句是否有误!”, #错误图标, , )
    .如果真结束

    局_匹配数1 = 局_正则1.取匹配数量 ()
    .如果真 (局_匹配数1 = 0)
        信息框 (“匹配失败,请检检查正则语句是否有误,数量:0”, #错误图标, , )
    .如果真结束
    .计次循环首 (局_匹配数1, 局_计次1)
        程序_主报表.获取明细网格 ().获取数据集 ().追加 ()
        程序_主报表.获取明细网格 ().获取数据集 ().获取字段集合 ().获取项目 (“异动原因”).字符值 = 异动原因
        程序_主报表.获取明细网格 ().获取数据集 ().获取字段集合 ().获取项目 (“异动序号”).字符值 = 到文本 (局_计次1)
        程序_主报表.获取明细网格 ().获取数据集 ().获取字段集合 ().获取项目 (“代码”).字符值 = 取文本右边 (子文本替换 (局_正则1.取子匹配文本 (局_计次1, 1), #引号, , , , 真), 6)
        程序_主报表.获取明细网格 ().获取数据集 ().获取字段集合 ().获取项目 (“股票名称”).字符值 = 子文本替换 (局_正则1.取子匹配文本 (局_计次1, 2), #引号, , , , 真)
        程序_主报表.获取明细网格 ().获取数据集 ().获取字段集合 ().获取项目 (“价格”).字符值 = 到文本 (到数值 (子文本替换 (局_正则1.取子匹配文本 (局_计次1, 3), “,”, , , , 真)) ÷ 100)
        局_解析数组 = 分割文本 (局_正则1.取子匹配文本 (局_计次1, 4), “\n”, )
        局_解析 = “”
        ' 调试输出 (局_解析数组 [1])
        .计次循环首 (取数组成员数 (局_解析数组) - 1, i)
            局_解析 = 局_解析 + 子文本替换 (子文本替换 (子文本替换 (子文本替换 (局_解析数组 [i + 1], “\n”, , , , 真), “\r”, , , , 真), #引号, , , , 真), “\u002F”, “/”, , , 真) + #换行符
        .计次循环尾 ()
        程序_主报表.获取明细网格 ().获取数据集 ().获取字段集合 ().获取项目 (“板块”).字符值 = 子文本替换 (子文本替换 (子文本替换 (局_解析数组 [1], #引号, , , , 真), “\r”, , , , 真), “\u002F”, “/”, , , 真)
        程序_主报表.获取明细网格 ().获取数据集 ().获取字段集合 ().获取项目 (“解析”).字符值 = 局_解析
        程序_主报表.获取明细网格 ().获取数据集 ().提交 ()
    .计次循环尾 ()

.计次循环尾 ()


 

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐