春日野穹 发表于 2017-4-18 13:35

易语言 获取网页文本

本帖最后由 春日野穹 于 2017-4-18 13:37 编辑

获取TB网页某个文本,我自己写的调试输出后发现网页源码只显示一半,而我想要获取的文本恰好没显示,



退而其次,想从获取上半部分的源码中的某个文本,但我写的不对,显示不出来


.版本 2
.支持库 spec

.局部变量 源码, 文本型
.局部变量 网页内容, 文本型
.局部变量 参数, 文本型

编辑框1.内容 = 参数
网页内容 = 到文本 (网页_访问 (“https://detail.tmall.com/item.htm?id=537409996959&ali_refid=a3_430583_1006:1124042415:N:%E6%9E%81%E7%B1%B3h1%E6%9E%81%E5%85%89:3bbe7caeff3ade8a95649cc31c2a965b&ali_trackid=1_3bbe7caeff3ade8a95649cc31c2a965b&spm=a230r.1.14.1.FTN69C&sku_properties=5919063:6536025”))
源码 = 取文本中间 (网页内容, 寻找文本 (网页内容, “安卓”, , 假), 寻找文本 (网页内容, “安卓”, 寻找文本 (网页内容, “安卓”, , 假), 假) - 寻找文本 (网页内容, “安卓”, , 假))
参数 = 文本_取出中间文本 (源码, #常量1, #常量2)
.如果真 (寻找文本 (源码, “安卓:”, , 假) ≠ -1)

.如果真结束
调试输出 (网页内容)

xiaosha 发表于 2017-4-18 16:22

不太会易语言,我用的是C#获取网页源码的,你说的只能获取一半应该是某个宝的防抓取策略,用C#的时候并没有遇到(猜想原因:1.会不会是用易语言抓取的时候只加载了一半,这个在“一号店”这个平台我遇到过。2.有没有可能是易语言存储字符数量有最大值(我不会易语言))

打不死的小强强 发表于 2017-4-18 17:17

我试过 网页源码看不到宝贝标题不知道怎么搞

春日野穹 发表于 2017-4-18 17:18

打不死的小强强 发表于 2017-4-18 17:17
我试过 网页源码看不到宝贝标题不知道怎么搞

我之前试过HTTP读取    也显示一半源码    好气哦{:5_185:}

朱辉 发表于 2017-4-18 20:02

你想取什么内容?

春日野穹 发表于 2017-4-18 20:04

朱辉 发表于 2017-4-18 20:02
你想取什么内容?

比如网页中的“1000ANSI”

朱辉 发表于 2017-4-18 21:11

.版本 2
.支持库 spec

返回文本 = 到文本 (网页_访问_对象 (“https://detail.tmall.com/item.htm?id=537409996959&ali_refid=a3_430583_1006:1124042415:N:%E6%9E%81%E7%B1%B3h1%E6%9E%81%E5%85%89:3bbe7caeff3ade8a95649cc31c2a965b&ali_trackid=1_3bbe7caeff3ade8a95649cc31c2a965b&spm=a230r.1.14.1.FTN69C&sku_properties=5919063:6536025”, 1, , ))
核心文件 = 文本_取出中间文本 (返回文本, #取核心前面, #取核心后面)
文本_取中间_批量_正则方式 (核心文件, #常量1, #常量2, 文本, 真, , , , , )
.计次循环首 (取数组成员数 (文本), i)
    文本_取中间_批量_正则方式 (文本 , #常量5, #常量6, 文本1, 真, , , , , )
    .计次循环首 (取数组成员数 (文本1), i)
      返回一个文本 = 文本_替换 (文本1 , , , , “&nbsp”, “”)
      编辑框1.加入文本 (返回一个文本 + #换行符)
      调试输出 (文本1 )
    .计次循环尾 ()
.计次循环尾 ()

朱辉 发表于 2017-4-18 21:13

最佳投放距离:;0.5-7m
机体尺寸(cm):;20×20×12.8
灯泡功率:;50W
缩放比:;1.5:1
分辨率(dpi):;1920x1080dpi
对比度:;10001:1-20000:1
屏幕比例:;16:9

朱辉 发表于 2017-4-18 22:33

颜色分类:带落地支架
平台类型:湖南广电
投放画面大小:30~300英寸

civic 发表于 2017-4-19 22:11

调试输出是有长度限制的。你的长度超过调试输出的限制,自然就读取不到,建议用编辑框
页: [1] 2
查看完整版本: 易语言 获取网页文本