易语言如何使用正则采集百度知道

发布时间:2021-08-18 11:29:37 作者:小新
来源:亿速云 阅读:171

小编给大家分享一下易语言如何使用正则采集百度知道,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

常量数据表

.版本 2
.常量 标题, "<文本长度: 25>", , "ti"((\r\n|\s*).*>.*)</a>
.常量 标题需替换的内容, "<文本长度: 17>", , target="_blank">
.常量 提问时间, "<文本长度: 36>", , "mr-8">(\d{4,}-\d{1,}-\d{1,})</span>
.常量 帖子链接与回答数量, "<文本长度: 93>", , <a href="(http:.*)" rel="external nofollow" target="_blank" class="f-light nod" data-   log="pos:ans,si:\d{1,}">(.*)</a>
.常量 回答内容, "<文本长度: 40>", , <i class="i-answer-text">答:</i>.*</dd>
.常量 回答内容需替换的, "<文本长度: 25>", , <i class="i-answer-text">
.常量 回答者, "<文本长度: 27>", , 回答者:<a href=.*>(.*)</a>

百度知道采集器

此功能需要加载精易模块5.6

.版本 2
.支持库 iext
.程序集 窗口程序集1
.程序集变量 搜索的内容, 文本型
.程序集变量 网页源码, 文本型
.程序集变量 页码变量, 整数型
.程序集变量 网址, 文本型
.子程序 _按钮_搜索_被单击
.局部变量 i, 整数型
.局部变量 i2, 整数型
.局部变量 i3, 整数型
.如果 (编辑框_搜索内容.内容 ≠ “”)
  超级列表框1.全部删除 ()
  .判断循环首 (页码变量 < 21)
    搜索内容 ()
    正则 ()
    页码变量 = 页码变量 + 10
  .判断循环尾 ()
  .计次循环首 (超级列表框1.取表项数 (), i2)
    超级列表框1.置标题 (i2 - 1, 0, 到文本 (i2))
  .计次循环尾 ()
  页码变量 = 0
.否则
  信息框 (“请先输入要搜索的问题”, #信息图标, “提示”)
  编辑框_搜索内容.获取焦点 ()
.如果结束
.子程序 搜索内容
按钮_搜索.标题 = “正在搜索中...”
搜索的内容 = 编辑框_搜索内容.内容
网址 = “http://zhidao.baidu.com/search?word=” + 编码_URL编码 (搜索的内容) + “&ie=gbk&site=-1&sites=0&date=0&pn=” + 到文本 (页码变量)
网页源码 = 网页_取网页源码 (网址)
.子程序 正则
.局部变量 正则标题与序号, 正则表达式类
.局部变量 局_计次, 整数型
.局部变量 表项索引, 整数型
.局部变量 正则链接与回答数, 正则表达式类
.局部变量 正则回答, 正则表达式类
.局部变量 正则回答时间, 正则表达式类
.局部变量 正则回答者, 正则表达式类
正则标题与序号.创建 (#标题, 网页源码)
正则链接与回答数.创建 (#帖子链接与回答数量, 网页源码)
正则回答.创建 (#回答内容, 网页源码)
正则回答时间.创建 (#提问时间, 网页源码)
正则回答者.创建 (#回答者, 网页源码)
.计次循环首 (正则标题与序号.取匹配数量 (), 局_计次)
  表项索引 = 超级列表框1.插入表项 (, , , , , )
  超级列表框1.置标题 (表项索引, 1, 文本_替换 (正则标题与序号.取子匹配文本 (局_计次, 1), , , , “>”, “”, “<em>”, “”, “</em>”, “</a>”, “<em”, “”, “</em”, “”)) ' 标题
  .如果 (寻找文本 (正则链接与回答数.取子匹配文本 (局_计次, 1), “html”, , 假) = -1)
    超级列表框1.置标题 (表项索引, 4, “”)
  .否则
    超级列表框1.置标题 (表项索引, 4, 正则链接与回答数.取子匹配文本 (局_计次, 1)) ' 链接
  .如果结束
  超级列表框1.置标题 (表项索引, 2, 文本_替换 (正则回答.取匹配文本 (局_计次, ), , , , #回答内容需替换的, “”, “</i>”, “”, “<em>”, “”, “</em>”, “”, “</dd>”, “”)) ' 回答
  超级列表框1.置标题 (表项索引, 3, 正则链接与回答数.取子匹配文本 (局_计次, 2)) ' 回答的数量
  超级列表框1.置标题 (表项索引, 5, 正则回答时间.取子匹配文本 (局_计次, 1)) ' 回答的时间
.计次循环尾 ()
按钮_搜索.标题 = “搜索答案”
.子程序 _超级列表框1_被双击, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
_预览此内容_被选择 ()
.子程序 _预览此内容_被选择
.如果真 (信息框 (_启动窗口.超级列表框1.取标题 (_启动窗口.超级列表框1.现行选中项, 2) + #换行符 + “-------------------------------” + #换行符 + “是否浏览更多回答?”, #是否钮 + #询问图标, 超级列表框1.取标题 (超级列表框1.现行选中项, 1)) = #是钮)
  _打开此链接_被选择 ()
.如果真结束
.子程序 _超级列表框1_鼠标右键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
.如果真 (超级列表框1.取表项数 () ≠ 0)
  弹出菜单 (菜单, , )
.如果真结束
.子程序 _打开此链接_被选择
网页_打开指定网址 (超级列表框1.取标题 (超级列表框1.现行选中项, 4))
.子程序 _复制回答_被选择
.如果真 (置剪辑板文本 (超级列表框1.取标题 (超级列表框1.现行选中项, 2)) = 真)
  信息框 (“成功复制!”, #信息图标, “复制成功”)
.如果真结束
.子程序 __启动窗口_创建完毕
页码变量 = 0
编辑框_搜索内容.获取焦点 ()
.子程序 _复制此链接_被选择
.如果真 (置剪辑板文本 (超级列表框1.取标题 (超级列表框1.现行选中项, 4)) = 真)
  信息框 (“成功复制!”, #信息图标, “复制成功”)
.如果真结束
.子程序 _编辑框_搜索内容_内容被改变
.如果真 (编辑框_搜索内容.内容 = “”)
  页码变量 = 0
.如果真结束
.子程序 _编辑框_搜索内容_按下某键, 逻辑型
.参数 键代码, 整数型
.参数 功能键状态, 整数型
.如果真 (键代码 = #回车键)
  _按钮_搜索_被单击 ()
.如果真结束
.子程序 _获取更多回答_被选择
网页_打开指定网址 (“http://zhidao.baidu.com/search?word=” + 编码_URL编码 (搜索的内容) + “&ie=gbk&site=-1&sites=0&date=0&pn=0”)
.子程序 _按钮_关闭_被单击
结束 ()
.子程序 _按钮_获取更多回答_被单击
_获取更多回答_被选择 ()

运行结果:

易语言如何使用正则采集百度知道

以上是“易语言如何使用正则采集百度知道”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. PHP使用DOMDocument采集
  2. 百度知道发布iPhone应用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

易语言

上一篇:易语言API高级技巧的示例分析

下一篇:易语言如何破解WPS的VIP模版

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》