asp收集html内容常用代码,详细收藏定期收集

首先,我们来说明托收的原则。

收购计划的主要步骤如下:

首先,获取所收集页面的内容。
两。从访问代码中提取所有数据

首先,获取所收集页面的内容。

我目前对ASP的掌握经常用于获取所收集页面的内容:

1。获得serverxmlhttp成分数据
复制代码代码如下所示:
功能GetBody(weburl)
创建对象
昏暗的objxmlhttp
集objxmlhttp = server.createobject(MSXML2. serverxmlhttp )
请求文件,异步形式
objxmlhttp。打开得到
objxmlhttp.send
而objxmlhttp.readystate <> 4
objxmlhttp.waitforresponse 1000

得到结果
objxmlhttp.responsebody GetBody =
释放对象
集objxmlhttp =没有
端功能
调用方法:
GetBody(文件的urlf地址)

2、或XMLHTTP组件获取数据
复制代码代码如下所示:
功能GetBody(weburl)
创建对象
设置检索= CreateObject(微软。XMLHTTP )
与检索
打开获取
。发送
responsebody GetBody =。
结束
释放对象
设置检索=无
端功能

调用方法:
GetBody(文件的urlf地址)

所获得的数据的内容也需要编码以便使用。
复制代码代码如下所示:
函数的BytesToBstr(身体,CSET)
昏暗的objstream
集objstream = server.createobject(ADODB。流)
objstream类型= 1。
objstream模式= 3。
objstream。开放
objstream写体。
objstream位置= 0。
objstream类型= 2。
objstream字符集= CSET。
bytestobstr = objstream.readtext
objstream。关闭
集objstream =没有
端功能

调用方法:BytesToBstr(数据转换、编码)的编码通常用于GB2312和UTF-8
两。从访问代码中提取所有数据
我目前的方法是:
1、用ASP内置的中间函数截取所需数据
复制代码代码如下所示:
函数体(wstr,开始,结束)
开始= newstring(wstr,开始)
为要处理的数据设置唯一的开始标记
在newstring(wstr,结束)
并开始与需要处理的数据的唯一结束标记相对应。
体中(wstr,开始,结束的开始)
设置显示页的范围
端功能

调用方法:正文(收集页面的内容,开始标记,结束标记)
2。使用常规数据获取所需数据
复制代码代码如下所示:
函数体(wstr,开始,结束)
集小琪=新regexp'set配置对象
xiaoqi.ignorecase = true'ignores案例
Xiaoqi。全球= true'is设置全文搜索
Xiaoqi。模式= 开始。+的正则表达式
集比赛= xiaoqi.execute(WSTR)开始执行配置
集小琪=没有
=
每场比赛的每场比赛
身体= bodymatch.value周期匹配
下一个
端功能

调用方法:正文(收集页面的内容,开始标记,结束标记)
湘西收购计划的思考:
1。获取网站页面页的页面地址。
目前,大多数动态Web站点都有分页地址规则,如:
动态页面
第一页:指标。asppage = 1
第二页:指标。asppage = 2
第三页:指数asppage = 3。
的…

静态页面
第一页:page_1.htm
第二页:page_2.htm
第三页:page_3.htm
的…
每一页一个网站只需要一个变量来代替每一个网页的地址,字符的网页如:page_ .htm

2。得到的收集网站的分页页面内容
三.从分页列表代码中提取所收集内容页的URL连接地址
在大多数的分页页面内容页的连接也有固定的规则,如:
连接1
连接2
连接3

通过以下代码,您可以获得URL连接的集合
复制代码代码如下所示:
Xiaoqi =新的正则表达式
Xiaoqi.IgnoreCase =真
Xiaoqi。全球=真
Xiaoqi模式= 1。
集比赛= xiaoqi.execute(列表页内容)
集小琪=没有
url
每场比赛的每场比赛
url = urlmatch.value
下一个

4。获取所收集的内容页的内容,并根据所提取的标记捕获从所收集内容页获得的数据。

由于动态生成的页面,大多数内容页具有相同的HTML标记。我们可以根据这些规则标记提取每个部分的内容。
如:
每个页面都有页面标题页的标题。使用上面写的中间截取函数,您可以得到它们之间的值,也可以使用正则表达式获取它们。
示例:正文(页标题