开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 174|回复: 5
收起左侧

[易语言] 错误(10044): 不能将“文本型”数据转换到“整数型”数据。

[复制链接]
结帖率:25% (1/4)
发表于 2025-3-14 08:54:00 | 显示全部楼层 |阅读模式   广东省清远市
13精币
.版本 2
.支持库 EThread
.支持库 spec
.支持库 iext

.程序集 窗口程序集_启动窗口
.程序集变量 是否停止, 逻辑型
.程序集变量 参数数组, 文本型, , "2"
.程序集变量 上次最新时间, 文本型
.程序集变量 关键词数组, 文本型, , "0"
.程序集变量 已采集链接, 文本型, , "0"

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

许可证 = 创建进入许可证 ()  ' 初始化许可证
是否停止 = 假
启动线程 (&定时任务, , )  ' 启动定时任务

' 初始化关键词数组
加入成员 (关键词数组, “1”)
加入成员 (关键词数组, “2”)
加入成员 (关键词数组, “3”)

.子程序 定时任务

.判断循环首 (取反 (是否停止))
    _按钮1_被单击 ()  ' 执行爬取任务
    延时 (10000)  ' 延时 10 秒(10000 毫秒)
.判断循环尾 ()

.子程序 __启动窗口_将被销毁

是否停止 = 真  ' 停止定时任务

.子程序 网页采集所有
.参数 传入参数文本, 文本型
.局部变量 网址, 文本型
.局部变量 关键词, 文本型
.局部变量 返回数据, 文本型
.局部变量 网址参数, 整数型
.局部变量 网页中间文本, 文本型
.局部变量 批量数据数组, 文本型, , "0"
.局部变量 i, 整数型
.局部变量 评论内容, 文本型
.局部变量 索引, 整数型
.局部变量 主题时间, 文本型
.局部变量 是否最后一页, 逻辑型
.局部变量 最新时间, 文本型
.局部变量 专区, 文本型
.局部变量 链接, 文本型
.局部变量 局部参数数组, 文本型, , "0"

' 清空编辑框2的内容
编辑框2.内容 = “”

' 解析参数文本
局部参数数组 = 分割文本 (传入参数文本, “|”, )  ' 用 | 分隔关键词和页码
关键词 = 局部参数数组 [1]  ' 第一个参数:关键词
网址参数 = 到整数 (局部参数数组 [2])  ' 第二个参数:页码

' 构造网址
网址 = “https://bbs.hupu.com/search?q=” + 关键词 + “&topicId=&sortby=general&page=” + 到文本 (网址参数)

' 访问网页并获取内容
返回数据 = UTF8到文本 (网页_访问_对象 (网址, , , , , , ))

' 检查是否最后一页
是否最后一页 = 寻找文本 (返回数据, “没有更多数据”, , 假) ≠ -1  ' 根据实际网页内容调整
.如果真 (是否最后一页)
    调试输出 (“已到达最后一页,停止采集”)
    返回 ()
.如果真结束

' 提取网页中间文本(缩小范围,提高效率)
网页中间文本 = 文本_取出中间文本 (返回数据, “并提供虎扑步行街社区服务”, “隐私协议”, )

' 显示网页内容到编辑框(用于调试)
编辑框2.内容 = 网页中间文本

' 批量提取评论块
文本_取中间_批量 (网页中间文本, “<div class=” + #引号 + “content-outline”, “</span></div>”, 批量数据数组, , , )

' 调试输出提取的评论块数量
调试输出 (“提取的评论块数量:”, 取数组成员数 (批量数据数组))

' 将提取的评论块数量写入编辑框2
编辑框2.加入文本 (“提取的评论块数量:” + 到文本 (取数组成员数 (批量数据数组)) + #换行符)

' 遍历每个评论块,提取评论内容
最新时间 = “”  ' 初始化最新时间
.计次循环首 (取数组成员数 (批量数据数组), i)
    进入许可区 (许可证)  ' 进入线程安全区

    ' 提取评论内容
    评论内容 = 文本_取出中间文本 (批量数据数组 [i], “>”, “</a>”)

    ' 去除 HTML 标签和其他无关内容
    评论内容 = 去除HTML标签 (评论内容)

    ' 去除评论内容中的多余空格
    评论内容 = 删首尾空 (评论内容)  ' 去除首尾空格
    评论内容 = 子文本替换 (评论内容, “  ”, “”, , , 真)  ' 去除中间的空格

    ' 提取时间
    主题时间 = 文本_取出中间文本 (批量数据数组 [i], “<span>”, “</span>”)

    ' 提取链接
    链接 = 文本_取出中间文本 (批量数据数组 [i], “href=” + #引号, #引号)

    ' 检查链接是否已经采集过
    .如果真 (是否已采集 (链接))
        到循环尾 ()  ' 如果已经采集过,跳过该条数据
    .如果真结束

    ' 记录已采集的链接
    加入成员 (已采集链接, 链接)

    ' 更新最新时间
    .如果真 (主题时间 > 最新时间)
        最新时间 = 主题时间
    .如果真结束

    ' 提取专区
    专区 = 文本_取出中间文本 (批量数据数组 [i], “noreferrer” + #引号 + “>”, “</a>”)

    ' 设置评论内容
    索引 = 超级列表框1.插入表项 (-1, 到文本 (i), , , , )
    超级列表框1.置标题 (索引, 0, 到文本 (索引 + 1))  ' 设置序号
    超级列表框1.置标题 (索引, 1, 评论内容)
    超级列表框1.置标题 (索引, 2, 专区)
    超级列表框1.置标题 (索引, 3, 主题时间)
    超级列表框1.置标题 (索引, 4, 链接)

    退出许可区 (许可证)  ' 退出线程安全区
.计次循环尾 ()

' 检查是否有新数据
.如果真 (最新时间 > 上次最新时间)
    上次最新时间 = 最新时间  ' 更新上次最新时间
    提醒新数据 ()  ' 触发提醒
.如果真结束


.子程序 _超级列表框1_双击选择
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.局部变量 索引, 整数型
.局部变量 链接, 文本型

' 获取当前选中的行索引
索引 = 超级列表框1.现行选中项

' 检查索引是否有效
.如果真 (索引 = -1)
    返回 ()  ' 如果未选中任何行,直接返回
.如果真结束

' 获取链接(假设链接在第 4 列)
链接 = 超级列表框1.取标题 (索引, 4)

' 检查链接是否为空
.如果真 (链接 = “”)
    信息框 (“链接为空,无法复制!”, 0, “提示”, )
    返回 ()
.如果真结束

' 复制链接到剪贴板
置剪辑板文本 (链接)
信息框 (“链接已复制到剪贴板:” + 链接, 0, “提示”, )

.子程序 是否已采集, 逻辑型
.参数 链接, 文本型
.局部变量 i, 整数型

.计次循环首 (取数组成员数 (已采集链接), i)
    .如果真 (已采集链接 [i] = 链接)
        返回 (真)  ' 如果链接已经存在,返回真
    .如果真结束

.计次循环尾 ()
返回 (假)  ' 如果链接不存在,返回假

.子程序 提醒新数据

' 提醒用户有新数据
信息框 (“发现新数据,请查看!”, 0, “提醒”, )

.子程序 去除HTML标签, 文本型
.参数 文本, 文本型
.局部变量 结果, 文本型
.局部变量 i, 整数型
.局部变量 字符, 文本型
.局部变量 在标签内, 逻辑型

结果 = “”
在标签内 = 假

.计次循环首 (取文本长度 (文本), i)
    字符 = 取文本中间 (文本, i, 1)

    .如果真 (字符 = “<”)
        在标签内 = 真
    .如果真结束

    .如果真 (字符 = “>”)
        在标签内 = 假
        到循环尾 ()
    .如果真结束

    .如果真 (取反 (在标签内))  ' 使用取反函数代替“不在标签内”
        结果 = 结果 + 字符
    .如果真结束

.计次循环尾 ()

返回 (结果)

.子程序 _按钮1_被单击
.局部变量 据页数, 整数型
.局部变量 几次, 整数型
.局部变量 关键词索引, 整数型
.局部变量 线程参数文本, 文本型

据页数 = 到整数 (编辑框页数.内容)

' 遍历所有关键词,启动多线程采集
.计次循环首 (取数组成员数 (关键词数组), 关键词索引)
    .计次循环首 (据页数, 几次)
        线程参数文本 = 关键词数组 [关键词索引] + “|” + 到文本 (几次)  ' 用 | 分隔关键词和页码
        启动线程 (&网页采集所有, 线程参数文本, )  ' 传递封装后的参数文本
        延迟 (1000)  ' 延迟 1 秒,避免请求过快
    .计次循环尾 ()
.计次循环尾 ()
启动线程 (&网页采集所有, 线程参数文本, )  ' 传递封装后的参数文本 一直显示这段错了 不知道怎么该了 就是显示这行错误妈的 来个大哥看看吧 搞一晚上都不知道


回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:100% (172/172)

签到天数: 1 天

发表于 2025-3-14 09:12:41 | 显示全部楼层   河北省廊坊市
错误断在哪里啊或者给源码这怎么给你看
回复

使用道具 举报

头像被屏蔽

签到天数: 1 天

发表于 2025-3-14 09:14:27 | 显示全部楼层   广东省深圳市
你只需要截图报错定位的部分代码就行了
回复

使用道具 举报

结帖率:100% (2/2)

签到天数: 1 天

发表于 2025-3-14 09:15:46 | 显示全部楼层   浙江省绍兴市
启动线程中只能传递整数型参数,把“线程参数文本”替换为“取文本指针(线程参数文本)”
子程序中再 取指针文本()把文本取出来

补充内容 (2025-3-14 09:16):
错了,不是取指针文本,是指针到文本()
回复

使用道具 举报

结帖率:100% (14/14)

签到天数: 1 天

发表于 2025-3-14 09:37:50 | 显示全部楼层   **
线程_启动多参_文本型()
线程_启动_文本型()

用这两个

补充内容 (2025-3-14 09:39):
你传文本型参数   启动线程是整数型的

补充内容 (2025-3-14 09:42):
你要传的参数是文本型的,但是启动线程第二个参数传参是整数型,所以报错  不能将“文本型”数据转换到“整数型”数据
回复

使用道具 举报

签到天数: 1 天

发表于 2025-3-14 10:45:10 | 显示全部楼层   安徽省安庆市
启动线程   只能传整数型参数
回复

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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