欢迎来到天天文库
浏览记录
ID:21286161
大小:5.46 MB
页数:11页
时间:2018-10-20
《制作游戏辅助教材推荐:抓取网页指定内容,获取网页里的图片》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、制作游戏辅助教材推荐:抓取网页指定内容(资料),获取网页里的图片来源:按键学院【按键精灵】 最近有遇到同学反馈,网页里的那些没有特征值的文本元素不知道怎么获取。以及,不知道怎么获取保存网页里出现的图片。获取网页指定文字: 目前按键支持的元素特征值有这些: frame(框架)、id(唯一标识)、tag(标签)、type(类型)、txt(文本)、value(特征)、index(索引)、name(名字) 拥有这些特征值的元素才能直接使用HtmlGet命令来获取元素文本信息。命令名称: Ht
2、mlGet获取网页元素的信息命令功能: 获取网页元素指定属性的信息命令参数: 参数1:字符串型,网页元素属性类型:text、html、outerHtml、value、 src、 href、offset 参数2:字符串型,网页元素特征字符串 例如下面的例子,按键精灵论坛搜索框,它有type、name、id这三个特征值。 我们取它id特征值带入到HtmlGet命令来查看下结果:CallPlugin.Web.Bind("WQM.exe")CallPlugin.Web.go("http://
3、bbs.anjian.com/forum-250-1.html") //要提取信息的网站Txt=Plugin.Web.HtmlGet("value","id:scbar_txt")TracePrintTxt成功获取到了搜索框的value值。我们现在想要取下面红色区域块的帖子标题,想要把一个页面中的这些帖子名称都取出来。该怎么办? 这些文字,都没有特征值的。我们不能使用特征值的方式去找他们。 我们可以这样—— 获取到整个网页的文本之后,去找我们要取的标题,前后不变的字符。 大家
4、会发现,这个页面中,帖子标题前后不便的字符是:“]“和“果果。。“那我们就将”]“字符前面的文本都过滤掉,“果果。。“后面的文本也过率掉,这样就能得到我们所需要的文本。首先,我们需要复习下几个函数:InStr函数描述start可选的。规定每次搜索的起始位置。默认是搜索起始位置是第一个字符。如果已规定compare参数,则必须有此参数。string1必需的。需要被搜索的字符串。string2必需的。需搜索的字符串。compare必需的。规定要使用的字符串比较类型。默认是0。可采用下列值:
5、0=vbBinaryCompare-执行二进制比较。1=vbTextCompare-执行文本比较。 Mid函数描述string必需的。从其中返回字符的字符串表达式。如果字符串包含Null,则返回Null。start必需的。规定起始位置。如果设置为大于字符串中的字符数目,则返回空字符串("")。length可选的。要返回的字符数目。如果省略或length超过文本的字符数,将返回字符串中从start到字符串结 束的所有字符。Len函数描述string任意有效的字符串表达式。如果string参数包含
6、Null,则返回Null。varname任意有效的变量名。如果varname参数包含Null,则返回Null。脚本过程:1. 先打开一个要提取信息的网站。2. 用 HtmlGet命令获取整个网页的文本信息,存到Txt变量里面3. 过滤]符号前面的文本 4. 从文本里的"]"符号后面的位置开始取字符串,这里取了一百个字符放到命名为cc的变量里。如下图,也可以设置取80个字符,60个字符,但是长度一定要把“果果。。”给截进来,因为后面我们要通过“果果。。”作为基准,去过滤掉
7、不要的文字。2014-9-1219:22上传下载附件(65.96KB)5. 在cc变量里,找果果。。出现的位置,找到之后,截取“果果。。”之前的文本,也就是我们需要接取的地方。6. 最后,设置叠加的变量x,把每次找到的"]"这个符号的位置放到变量x里进行累加,累加之后第二次循环,就会跳过之前找过的内容,进行新的内容的寻找。源码:CallPlugin.Web.Bind("WQM.exe")CallPlugin.Web.go("http://bbs.anjian.com/forum-250
8、-1.html") //要提取信息的网站Delay1000//如果网页打开速度慢,可适当添加延迟Txt=Plugin.Web.HtmlGet("text","") //获取网页的文本x=1Do aa="]" //过滤]符号前面的文本 bb=InStr(x,Txt,aa)//返回aa变量里的"["这个字符在整个网页文本txt里的位置 cc=Mid(Txt,bb+Len(aa),100)//从文本里的"]"符号后面的位置开始取字符串,这里取了一百个字符 dd=InStr(
此文档下载收益归作者所有