• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    如何采集静态文章系统
    目前网站基本上都生成静态的了,对于那些技术不是很高深的小偷来说,去偷一个文件名是以时间加随机数来命名的
    文章系统,有点困难,而目前的大多数静态的系统都是以这样的方式命名的,这个不像有asp?id=1 to asp?id=100这样好
    这个命名是没规律的,那么,这种文章系统怎么样采呢,以下就以自已的站www.asp315.com这例来写一篇关于采集静态文
    章系统的教程吧!
      首先,我们打开www.asp315.com你会发现教程很多,我们随便点一个进去吧,就点JSP教程吧,里面还分了子类,这个不管
    我们就采这一个大类,http://www.asp315.com/artical/2/1.htm,看看每一篇文章的名称,基本上是没规律,直接偷是没戏了
    ,只能转着弯偷啦,看到这个分类页下面有下一页,看看这些页面的规律,会发现是以1.htm,2.htm命名的,这样就好办多了
    点一下最后一页,141.htm,这些页面都是一样的,整个站的分类页都是一样的,只要搞定了这一页,那么,文章页的文件名就知道了
    只要记下了文件名,那么,偷起来就容易多了,在这里我只讲怎么样偷到这些文件名,不去讲具体的采集某个页面,因为那个太简单了
    不用我说,大家都会!
      首页,那个读取远程的函数是不能少啦,以下我贴出来
    Function getHTTPPage(Path)
    t = GetBody(Path)
    getHTTPPage=BytesToBstr(t,"gb2312")
    End function

    Function GetBody(url)
    on error resume next
    Set Retrieval = CreateObject("Microsoft.XMLHTTP")
    With Retrieval
    .Open "get", url, False, "", ""
    .Send
    GetBody = .ResponseBody
    End With
    Set Retrieval = Nothing
    End Function
    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
    然后我们先写一个最简单的程序来先,一步一步的来,手把手的教,(呵,废话说多了*.*)
    把上面的代码命名为get.asp吧
    再一个页面代码就叫getfilename.asp吧.代码如下:
    !--#include file="get.asp"-->
    %
    response.write gethttppage("http://www.asp315.com/artical/2/1.htm")
    %>
    呵,getfilename.asp完成了,当然,这个是最简单的照搬啦,我们要一步一步的来改,来完善,
    远行那个当代码,你会看到和那个页面基本上一的页面,当然,有些图片显示不了!
    然后我们分析这个页面,首页,点右键,查看源代码找到这一行
    td width="40" height="20" align="center" bgcolor="#F6F6F6">人气/td>
    当然,我们不要这么多,光人气二字都可以,但是为了保险,我们还是多要点,
    这个是那些文件标题开始的地方,那么我们再找到结束的地方,
    td width="490" align="center">页数
    呵,这些代码找到了,这个多一点少一点没事,我们代码要一步一步完善的,
    然后我们将getfilename.asp改成
    !--#include file="get.asp"-->
    %
    dim dj,l1,l2
    dj=gethttppage("http://www.asp315.com/artical/2/1.htm")
    l1=instr(dj,"td width=""40"" height=""20"" align=""center"" bgcolor=""#F6F6F6"">人气/td>")
    l2=instr(l1,dj,"td width=""490"" align=""center"">页数")
    dj1=mid(dj,l1,l2-l1)
    response.write dj1
    %>
    再去运行这个文件,看一看,
    你会发现东西少了好多,呵,也简单多了,那么,我们再找去规律来吧,一样上查看源代码,
    然后你会发现每一条都是一个tr>/tr>标签组成的,这就好办多了,
    djmore=split(dj1,"tr>")
    记住,仔细查看,你会发现多了几个tr>,
    那就把第一个和最后二个去掉,变成这样的了
    我们来循环

    response.write dj1换成
    djmore=split(dj1,"tr>")
    for i=1 to ubound(djmore)-2
    response.write djmore(i)
    next
    这样就会把每一行都分出来了,分成了以下这样的
      td width="474" height="20" bgcolor="#FFFFFF">img src="../../images/article_elite.gif"> a href="../../news/31/200572111233207984.htm" target="_blank" title="CSS语法手册(一)字体属性">CSS语法手册(一)字体属性/a>/td>
        td width="80" height="20" align="center" bgcolor="#FFFFFF">2005-7-21/td>
        td width="40" height="20" align="center" bgcolor="#FFFFFF">script src="../../showcount.asp?id=18152">/script>/td>
      /tr>
    现在只要分析这一段就简单多了,
    我们再来针对djmore(i)这数组中的一项来写一个代码,
    l3=instr(djmore(i),"a href=")
    l4=instr(l3,djmore(i),""" target=""_blank""")
    url=mid(djmore(i),l3,l4-l3)
    response.wrie url"br>"

    这里是为了方便才写成这样的,
    把以上这段代替前面的
    response.write djmore(i)
    这里加BR>是为了换行,好看点,然后你看到了URL好像多了点东西,这个我们就要做一些处理了,把
    url=mid(djmore(i),l3,l4-l3)变成
    url=mid(djmore(i),l3+len("a href=")+1,l4-l3-len("a href=")-1)
    呵,没问题了,再运行时就剩下地址了,
    呵,是吧,这只是每一个页的,要全部的,你只要修改一下
    dj=gethttppage("http://www.asp315.com/artical/2/1.htm")改成
    for ii=1 to 141
    geturl="

    上一篇:Win2003下提高FSO的安全性
    下一篇:提供几个关于采集的函数(ASP)
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    如何采集静态文章系统 如何,采集,静态,文章,系统,