获取不到网页源文件!咋整?
本文由按键学院提供技术支持
使用命令库里的获取网页源文件,提示没有权限访问?返回值是空的? 又或者,网页的内容变化了,但是获取到的网页源文件一直都是第一次启动时获取到的? 这么多症状,还有得救吗?
小编今天分享药方三帖。
这三种方法,小编用着还挺顺手的,希望可以帮到大伙儿~ |
|
药方一
此方法采用了Microsoft.XMLHttp组件 ( XMLHTTP是传送XML格式数据的超文本传输协议 ) 使用步骤一点也不麻烦: |
1、创建XMLHTTP对象。 2、输入要网址,并且指定你要对网页进行的操作:GET/Post (get是从服务器上获取数据,post是向服务器传送数据。) 3、等待返回值。
|
代码:- 网页源文件=取网页源码("http://bbs.anjian.com/forum.php")
- TracePrint 网页源文件
- Function 取网页源码(URL)
- Set objXML=CreateObject("Microsoft.XMLHTTP")
- objXML.Open "Get", Url, False
- objXML.send
- If objXML.readyState=4 then
- 取网页源码 =objXML.ResponseText
- End If
- objXML.Abort
- Set objXML = Nothing
- End Function
复制代码代码解析:
objXML.Open "Get", Url, False
XMLHTTP对象的Open方法,它的参数是这样的 bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword 一共五个参数。
bstrMethod: 数据传送方式,即GET或POST。我们要获取数据,所以使用GET方式。
bstrUrl: 服务网页的URL。
varAsync: 是否同步执行。缺省为True,即异步执行。False,即同步执行。
我们选择False,同步执行,
意思就是:发送完要获取网页源文件的指令之后,等待返回值,等值返回了才执行下一句代码。
bstrUser: 用户名,可省略。
bstrPassword:用户口令,可省略。
If objXML.readyState=4 then
XMLHTTP对象的readystate属性,它的值是0-4:
0 :Response对象已经创建,但XML文档上载过程尚未结束
1 :XML文档已经装载完毕
2 :XML文档已经装载完毕,正在处理中
3 :部分XML文档已经解析
4 :文档已经解析完毕,客户端可以接受返回消息
药方二使用按键自带的web网页插件的save命令保存网页源文件。 |
命令名称 | Save 保存网页或图片
|
命令功能 | 保存指定URL的文件到本地磁盘
|
命令参数 | 参数1:需要保存的目标Url 参数2:本地文件名
|
代码:- call Plugin.Web.Bind("wqm.exe")//绑定wqm
- Call Plugin.Web.Save("http://bbs.anjian.com/forum.php", "C:\1.txt") //保存网页源文件到c盘下的1.txt文本中
- RunApp "C:\1.txt"
复制代码 注意:此方法有个缺点,那就是,运行过程中会弹出wqm窗口。药方三懒人插件、365插件都有读取网页源文件的命令,小编这里用365插件的GetWebText 命令做个例子。 |
使用方法:1、下载
365插件2、解压之后将:
Mini365.dll 这个文件放到按键精灵安卓目录下的
plugin文件夹中
365插件下载: - 您所在的用户组无法下载或查看附件
Plugin.Mini365.GetWebText URL,Mode
GetWebText命令有两个参数:网址(URL)和 网页编码(Mode)
网页编码常见的是:GB2312和UTF-8
如何得知网页的编码是哪种呢? 我们打开网页,按下F12调出网页代码分析器,绿色圈圈里的那个GBK就是当前网页的编码:
- 您所在的用户组无法下载或查看附件
代码:- 网页源文件= Plugin.Mini365.GetWebText ("http://bbs.anjian.com/forum.php", "GBk")
- TracePrint 网页源文件
复制代码本文由按键学院提供技术支持
有钱,就是任性!按键学院的导师就是土豪!
按键学院实战班