热 门: 什么是花 生壳?    百度为什么不收录网站首页?    申请免费空间    网站如何备案    什么是音乐小偷?    什么是SEO,如何网站优化?     大量精美网页特效    设为首页 | 加入收藏
首页 | 站长免费中心 | 新手上路 | 网站运营 | 网页制作 | 图片设计 | 动画设计 | 网页编程 | 网页特效 | 本站专题 | 虚拟主机 | 域名注册 | 网站建设 | 程序下载
       免费空间资源 | 新闻咨询 | 免费域名 | 免费网盘 | 网站推广 | 网站策划 | 建站经验 | 网站优化 | 网页代码 | 源码下载 | 音乐小偷 | 网络赚钱 | 论坛交流
网站建设
网站建设
虚拟主机
虚拟主机
域名注册
域名注册
711网络首页
站长工具
站长工具
网站源码
网站源码
站长论坛
站长论坛

企业网站建设
.com .com.cn .cn .net .net.cn
.cc .org .org.cn .tv
本站搜索:
温馨提示: 如果没找到您需要的内容, 欢迎在此搜索.
绵阳网站建设

 711网络 网页编程音乐小偷

用asp编写网站数据采集程序

来源: 互联网    日期:2008-7-25

     
 

    智能建站已经成为企业网站建设的主要方式,建立个性化企业网站是企业品牌形象的体现;具有强大灵活的网站功能、HTML生成、搜索引擎优化,现有简体、繁体、英文、日文等多国语言可选用。赶快申请,立即拥有个性化企业网站...

 
 

引:假如你想从网上自动采集数据,把它们写进本地数据库中,那就看看本文介绍的方法吧。笔者为了解决这个问题,花了三天的时间,终于大功告成,下面就是完整的ASP代码,能让你随心所欲地从网上采集数据入库,非常实用啊!

一、网站数据采集方法

 

目前网站数据采集方法主要有两种,一是使用现成的软件,二是自己编写采集程序。

 

1、使用现成的软件

 

很多软件(例如网络信息采集大师、BK通用信息采集系统等)都能采集网上数据,只要你到baiduGoogle中,以“数据采集软件”为关键词搜一下,即可找到。如今这类软件数量繁多,都是别人用CDEPHIVB写成的,一般都提供了免费版让你下载试用。它们虽然也能采集网上数据,但是采集后的数据要么不能入库,要么只能入库前10条;如果你想突破这种限制,就必须花钱购买其正式版了。笔者试用了所有的数据采集软件,发现都是如此!

 

2、自己编写ASP采集程序

 

既然现成的软件不能免费使用,为了省钱,只能自己编写ASP网站数据采集程序了!下面就是该程序的代码,如果你想免费采集网站数据,运行之即可。

 

二、网站数据采集过程

 

编写ASP网站数据采集程序,首先需要抓取远程网页的源代码。微软serverXMLHTTP组件能帮你抓取远程页面的二进制代码,然后将该代码转换成字符,进行截取、替换处理,即可得到想要的数据;最后再将数据显示出来、或者写入数据库中,整个采集工作就完成了。

 

三、如何抓取远程网页?

 

 抓取远程HTML的二进制代码主要语句如下:

 

    Set Http = CreateObject("MSXML2.XMLHTTP")     '创建serverXMLHTTP组件

    Http.open "GET",src_ ,false

    Http.send()                                   '开始抓取

    if Http.readystate<>4 then

        exit sub

    end if

value_ = Http.responseBody         '抓取到的网页二进制代码存放在value_

下面我们写一个steal()子程序,只要你提供一个网址url,即可利用它抓取URL网页的二进制代码,存放在value_变量中。

public sub steal()                      '窃取目标URL地址的HTML代码

if src_<>"" then                        'src_=目标URL地址

    dim Http

    set Http=server.createobject("MSXML2.XMLHTTP")  '创建serverXMLHTTP组件

    Http.open "GET",src_ ,false

    Http.send()

    if Http.readystate<>4 then        '判断是否准备好

        exit sub

    end if

    value_= Http.responseBody         '抓取到网页

    if len(value_)<100 then

        response.write "获取远程文件 <a href="&url&" target=_blank>"&url&"</a> 失败。"

        response.end

    end if

    isGet_= True                '已抓取过标志isGet_

    set http=nothing

    if err.number<>0 then  err.Clear

else

    response.Write("<script>alert(""请先设置src属性!"")</script>")

end if

end sub

 

四、将网页二进制代码转换成字符

 

现在只要你提供一个远程网页URL,然后调用上面的steal(),即可抓到该网页(二进制代码形式);由于二进制代码无法显示,所以要显示抓到的网页、或者入库,还需要转换成字符,必须写一个转换函数BytesToBstr,将网页二进制代码转换成字符,代码如下:

 

private Function BytesToBstr(body,Cset)          '二进制转换成字符

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 = Cset

BytesToBstr = objstream.ReadText

objstream.Close

set objstream = nothing

End Function

 

五、抓取网页实例

 

现在我们能真枪实弹地抓一个网页了!例如要抓取六安信息港网页(http://market.ah163.net/city/AllDisplay.php?page=1&cityid=13),可以写一个2hand-cj.asp文件,在该文件中定义一个clsThief类,类中含有上面的子程序和函数,代码如下:

 

<%

Dim Html,myThief,url_tittle

 

'====采集六安信息港帖子网址列表

set myThief=new clsThief

GetUrl="http://market.ah163.net/city/AllDisplay.php?page=1&cityid=13"

myThief.src=GetUrl

myThief.steal           '抓取远程GetUrl整个网页,并将该网页二进制代码转换成字符

url_tittle=myThief.value             '抓取的网页存在url_tittle

Html=""&url_tittle&""                '最后结果存在Html

Response.write Html                  '显示结果

Response.write "<br>"           

set myThief=nothing                 '释放对象

 

Class clsThief    '定义一个clsThief

Private value_    '窃取到的内容

Private src_      '要偷的目标URL地址

Private isGet_    '判断是否已经偷过

 

public property let src(str) '赋值—要偷的目标URL地址/属性

src_=str

end property

 

public property get value '返回值—最终窃取并应用类方法加工过的内容/属性

value=value_

end property

 

private sub class_initialize()  '初始化clsThief

value_=""

src_=""

isGet_= false

end sub

 

public sub steal()        '窃取目标URL地址的HTML代码/方法

if src_<>"" then

    dim Http

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

    Http.open "GET",src_ ,false

    Http.send()

    if Http.readystate<>4 then

        exit sub

    end if

    value_=BytesToBSTR(Http.responseBody,"GB2312")     '将网页二进制转换成字符

    if len(value_)<100 then

        response.write "获取远程文件 <a href="&url&" target=_blank>"&url&"</a> 失败。"

        response.end

    end if

    isGet_= True

    set http=nothing

    if err.number<>0 then  err.Clear

else

    response.Write("<script>alert(""请先设置src属性!"")</script>")

end if

end sub

 

private Function BytesToBstr(body,Cset)     '二进制转换成字符

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 = Cset

BytesToBstr = objstream.ReadText

objstream.Close

set objstream = nothing

End Function

 

end class

%>

解释一下以上程序中几个关键的语句:

GetUrl=http://market.ah163.net/city/AllDisplay.php?page=1&cityid=13  '要采集的网址

myThief.src=GetUrl                   '网址赋予myThief.src

myThief.steal        '调用steal方法抓取远程网页,并将该网页二进制代码转换成字符

url_tittle=myThief.value             '抓取的网页存放在url_tittle

Html=""&url_tittle&""                '最后结果存放在Html

Response.write Html                  '使用response显示抓取的网页

 

运行上面的2hand-cj.asp可以成功地抓取网页,结果如下图1所示!

 

接下来对于抓取的网页,我们只想保留表格(如上图)、其他的数据全不要,该怎么办呢?这就需要对抓取的网页进行截取了!



文章共2页:  [1] [2]
精品网站程序下载(草根站长最爱)
QQ2013,QQ2012临时会话插件(全国首发)
711旅游网站管理系统V2013(无功能限制)
711幻灯片管理系统(全国首发) 各类网站程序下载
711企业网站管理系统V2013个人版(无功能限制)
711免费在线客服系统个人版 V2.0
电影小偷采集程序V2013免费下载
点此查看


更多的用asp编写网站数据采集程序请到论坛查看: http://BBS.TC711.COM



【 双击滚屏 】 【 评论 】 【 收藏 】 【 打印 】 【 关闭 】 来源: 互联网    日期:2008-7-25   

发 表 评 论
查看评论

  您的大名:
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
认证编码: 刷新验证码
点评内容: 字数0
  精品推荐  
  本月推荐  
· 企业程序V2013精品版
· 企业程序V2013营销旗舰版
· 购物商城系统V2013
· 旅游程序V2013
· 鲜花网站系统V2013
· 珍爱鲜花配送管理系统V2013免费下载
· 绵阳餐饮网2010免费下载
· 旅游网站管理系统V4.0
· 旅游网站管理系统V12.0免费版
· 学校网站管理系统
· 政府网站管理系统
· 律师事务所网站管理系统
· 仿阿里巴巴B2B门V2009
· 婚纱摄影网站管理系统2013
· 人才网管理系统V2009
· 企业程序中日英繁四语版
· 人才网管理系统V2009
· 公文传输系统(适合于政府机构)
· 711企业网站管理程序V2009超强完美版 
· 711酒店网站管理系统V2008 
· 711网站QQ在线咨询插件2013(兼容火狐)
·711企业网站程序免费版(无功能限制)
·711企业网站系统V2008.4多风格三语
·711网络在线图文下单与产 品输出系统
·711酒店网站管理系统V2008
·绵阳商铺信息网站管理系统
·711旅游旅行社网站管理系统V2007.10
·企业搭建网站的好处
·711二手网站网站管理程序
·711网络企业网站管理 系统韩国风格
·711企业网站管理系统(中英繁三语)
·711房产中介网站管理系统2008
·711分类网站管理程序(html版)
·711公文传输系统V2007.6正式发布
  友情赞助  

·快速设计网页必备的28款工具和生...
·网站上的广告与网站设计的关系
·[分享]网络创业的定位与切入点
·成功的网站其实很简单的就这样做...
·良好用户体验的网站主页 必备的1...
·以亲身体会讲述 43条网站设计中常...
·GOOGLE收录减少怎么办?
·个人网站赚钱必须要坚持
·搜索引擎最新免费登录入口大全
·一个个人站长些的网站宣传方法
·免费网站推广区
·百度"反垃圾网站"的若干问答
·宣传网站利器——你都搞了吗?
·网页应该怎样设计,才能被百度有...
·提高网站的Google PR值的私家绝招...
·让网站迅速被各大搜索引擎收录!...


本站所有资源均来自互联网,如有侵犯您的版权或其他问题,请通知管理员,我们会在最短的时间回复您
Copyright © 2005-2015 Tc711.Com All Rights Reserved 版权所有·711网络   蜀ICP备05021915号
110网监备案 信息产业备案 不良信息举报  点击这里给我发消息
//