tip

华为WLAN指导设计 来源:华为星火计划培训

华为WLAN设计
网优网归 场景规划
方案设计

【资料简介】华为Wlan网络网规网优技术、场景规划与方案设计,从0开始设计到交付,一本完完整整的学习教材,建议从事无线学习的同学学习..

马上观看
zon

华为WLAN专题集锦 专题:华为WLAN

WLAN配置
组网模式解析
组网配置案例

【华为无线】本指南详细介绍每个模版的命令解释及用途,在加上十多种精彩案例分享及解释,再加上网优网归,让你彻底脱盲,不在为无线..

马上观看
zon

家园VBook中心 分类:书籍中心

教材 案例 题库
知识 专业认证
资源价值

【中心简介】家园Vbook书籍中心是以收集和整理互联网上优秀书籍,以最好的知识推荐给你学习,让你在学习的路程上事半功倍,告别枯燥,早..

马上观看
tip

华为HCIE认证之路 分类:华为认证

HCIE学习之路
华为 路由 交换
含金量最大的资料

【学习介绍】在中国拥有一张证书不是梦,冰冻三尺,非一日之寒,要拥有一张认证所具备含金量技术水准那是需要多年的经年积累,本书专为你分享..

马上观看
tip

华三无线专题报告 发布:建哥哥

华三
H3C WLAN AC
无线专题

【资料简介】大好河山、无线风光,主要介绍H3C无线,从基础到高级配置及组网模式配置案例,多达200篇案例配置,从此告别对无线的迷茫..

马上观看
★浏览次数:486 次★  发布日期:2012-09-08
 当前位置:技术资料 > WEB技术 > ASP > 正文
 
最近更新
    正在更新...
 

Asp文章采集系统的常用函数之源数据采集

 

文章采集系统 源数据采集

 

Asp文章采集系统的常用函数之源数据转换

 

Asp文章采集系统的常用函数之内容提取

 

Asp文章采集系统的常用函数之图片地址提取

 

 

常常我们在使用一键转播复制等等技术的时候都用到数据采集,其中包含了将文字和图片保存到我们自己的服务器.

无论是ASP、Asp.net、PHP、JSP使用原理和基本思路都是一样,不同的在于使用各自实现的语法。

一、实现原理

1、首先是将一个被采集的HTML页面中提取所有我们需要的数,比如:标题,关键字,内容等等。

2、提取了HTML页面中我们需要的内容后,要进行处理,比如我们需要采集内容中的图片,将其保存到自己的服务器上,要把链接变成自己网站的链接。

3、讲所有数据保存到数据库中。实现你网站的其他接入。

二、实现代码(Asp为列)

  代码可能是被我们封装成了一个函数,到时候调用就行了,只需要向函数传递需要的参数。

 

1、获取HTML页面内容的函数

    我们通过浏览器浏览得到的HTML页面从源文件都是可以看见的中文编码的字符,但是我们做采集不可能是将得到的html字符在从浏览器上发送到服务器上去,当然这种个思路是可以实现的,但是很复杂。那么通过什么方法呢?很简单ASp的Msxml.xmlhttp、Msxml2.xmlhttp、MSXML2.SERVERXMLHTTP.3.0 这些组建就能帮我们实现,使用一个即可,三个组建的区别你可以百度一下。

    在服务端对数据的分析不像是客户端一样看到的是HTML文字,服务端只能得到数据和发送数据(要么是二进制的流文件数据,要么就是普通的字符数据。)

 

第一个函数,取得HTML的流文件(也就是二进制的数据)

 

Function GetHtml(httpurl) 
 Dim xmlhttp,xmli,xmlHTML
 'Set xmlhttp = Server.CreateObject("Msxml2.xmlhttp")
 Set xmlhttp = createobject("MSXML2.SERVERXMLHTTP.3.0")
 'xmlHttp.setRequestHeader "Accept-Charset", "gb2312"
 'xmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
 IF IsArray(httpurl) Then
  Redim xmlHTML(Ubound(httpurl))
  For xmli=0 To Ubound(httpurl)
   xmlhttp.Open "GET",httpurl(xmli),false
   xmlhttp.Send()
   IF (xmlhttp.readystate=4) Then
    IF (xmlhttp.status=200) Then
     xmlHTML(xmli) = xmlhttp.responseBody
     Echo "第 "& xmli+1 &" 条数据源采集成功!
"
    Else
     xmlHTML(xmli) = 0
     Echo "抱歉,采集出现错误,错误代码:"&xmlhttp.status&"
"
    End IF
   Else
    Echo "抱歉,采集地址上网络错误。代码:"&xmlhttp.readystate&"
"
   End IF   
  Next
 Else
  xmlhttp.Open "GET",httpurl,false
  xmlhttp.Send()
  IF (xmlhttp.readystate=4 And  xmlhttp.status=200) Then
   xmlHTML = xmlhttp.responseBody
  Else
   Echo "网络数据读取错误!错误代码:" & xmlhttp.status
  End IF
 End IF
 GetHtml = xmlHTML
 Set xmlhttp = Nothing
End Function

此函数返回的是一个页面的html二进制流。

 

它可以有2个用途,取决于我们传递的参数 httpurl :

1.如果参数一个网页的页面地址,可以返回文字二进制流数据

2.如果是一个图片的地址,可以返回 图片的二进制流

 

使用方法:

httpurl 参数字符串或者数组,其值只能是网页地址或者图片地址,必须包含http://

函数返回值取决于参数传入类型

httpurl是一个http://的网页或图片地址,返回的将是一个二进制流数据,

httpurl是一个数组,则返回的也是一个含有二进制数据的数组.

如果出现了404错误,那么返回数据就是 0 .

 

得到了HTML二进制源文件,我们需要对其按类型处理,

如果是html网页,那么就转化为可是别的字符.如果是图片我们就保存为图片.

 

 

 
建议使用IE8.0以上版本解析 网络QQ群:30573676 家园群:36740144 Elv home systems. 蜀ICP备20009373号 © All Rights Reserved 2012 - By badulip
×

扫二维码,关注微信公众号