使用命令库里的获取网页源文件,提示没有权限访问?返回值是空的?
又或者,网页的内容变化了,但是获取到的网页源文件一直都是第一次启动时获取到的?
这么多症状,还有得救吗?
小编今天分享药方三帖。
这三种方法,小编用着还挺顺手的,希望可以帮到大伙儿~
—
本帖被 mimi_rice 执行加亮操作(2015-01-25)
—
获取不到网页源文件!咋整?
|
药方一
( 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:用户口令,可省略。
[size=14px]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"
药方三
使用365插件的GetWebText 命令。
使用方法:
1、下载365插件
2、解压之后将:Mini365.dll 这个文件放到按键精灵安卓目录下的plugin文件夹中
365插件下载:
365插件.rar[点击下载](15 K) 下载次数:0 累计下载获得 DB 没有记录 刀Plugin.Mini365.GetWebText URL,Mode
GetWebText命令有两个参数:网址(URL)和 网页编码(Mode)
网页编码常见的是:GB2312和UTF-8
如何得知网页的编码是哪种呢?
我们打开网页,按下F12调出网页代码分析器,绿色圈圈里的那个GBK就是当前网页的编码:
代码:
- 网页源文件= Plugin.Mini365.GetWebText ("http://bbs.anjian.com/forum.php", "GBk")
- TracePrint 网页源文件
[ 此帖被mimi_rice在2015-01-07 19:30重新编辑 ]
