加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

asp 采集程序常用函数剖析

发布时间:2023-05-16 12:37:54 所属栏目:Asp教程 来源:
导读:采集程序实际上是通过了XML中的XMLHTTP组件调用其它网站上的网页。比如新闻采集程序,很多都是调用了sina的新闻网页,并且对其中的html进行了一些替换,同时对广告也进行了过滤。用采集程序的优点有:无须维护网站,

采集程序实际上是通过了XML中的XMLHTTP组件调用其它网站上的网页。比如新闻采集程序,很多都是调用了sina的新闻网页,并且对其中的html进行了一些替换,同时对广告也进行了过滤。用采集程序的优点有:无须维护网站,因为采集程序中的数据来自其他网站,它将随着该网站的更新而更新;可以节省服务器资源,一般采集程序就几个文件,所有网页内容都是来自其他网站。缺点有:不稳定,如果目标网站出错,程序也会出错,而且,如果目标网站进行升级维护,那么采集程序也要进行相应修改;速度,因为是远程调用,速度和在本地服务器上读取数据比起来,肯定要慢一些。

一、事例

下面就XMLHTTP在ASP中的应用做个简单说明

代码如下:

<%

'常用函数

'1、输入url目标网页地址,返回值getHTTPPage是目标网页的html代码

function getHTTPPage(url)

dim Http

set Http=server.createobject("MSXML2.XMLHTTP")

Http.open "GET",url,false

Http.send()

if Http.readystate<>4 then

exit function

end if

getHTTPPage=bytesToBstr(Http.responseBody,"GB2312")

set http=nothing

if err.number<>0 then err.Clear

end function

'2、转换乱玛,直接用xmlhttp调用有中文字符的网页得到的将是乱玛,可以通过adodb.stream组件进行转换

Function BytesToBstr(body)

dim objstream

set objstream = Server.CreateObject("adodb.stream")

objstream.Type = 1

objstream.Mode =3

objstream.Open

objstream.Write body

objstream.Position = 0

objstream.Type = 2

objstream.Charset = "GB2312" '转换原来默认的UTF-8编码转换成GB2312编码,否则直接用XMLHTTP组件调用有中文字符的网页得到的将是乱码

BytesToBstr = objstream.ReadText

objstream.Close

set objstream = nothing

End Function

'下面试着调用//www.Cuoxin.com的html内容

Dim Url,Html

Url="//www.Cuoxin.com";

Html = getHTTPPage(Url)

Response.write Html

%>

二、几个常用的函数

(一)InStr 函数

描述

返回某字符(string2)串在另一字符串(string1)中第一次出现的位置。

语法

InStr(string1, string2)

例如:

Dim SearchString, SearchChar

SearchString ="//www.Cuoxin.com" ' 要在其中搜索的字符串。

SearchChar = "jb51" ' 搜索 "jb51"。

MyBK = Instr(SearchString, SearchChar) ' 返回 8

'如果找不到则返回“0”,例如:

SearchChar = "BK"

MyBK = Instr(SearchString, SearchChar) ' 返回 0

(二)Mid 函数

描述

从字符串中返回指定数目的字符。

语法

Mid(string, start, over)

例如:

Dim MyBK

MyBK = Mid("我们的BK(www.google)设计", 7, 12) '截取字符串"我们的BK(www.google)设计"第7个字符以后的12个字符

'此时MyBK的值就变成了"www.google"

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章