主页 > 知识库 > 写了段批量抓取某个列表页的东东

写了段批量抓取某个列表页的东东

热门标签:电话机器人案例 保定电销机器人软件 客服外呼系统呼叫中心 成都销售外呼系统公司 自动外呼系统怎么防止封卡 电话机器人销售公司吗 vue 地图标注拖拽 镇江云外呼系统怎么样 土地证宗地图标注符号


有些人当抓取程序是个宝,到目前还TND有人在卖钱,强烈BS一下这些家伙 真是的!可能偶下边这段东西比较烂哈
下边这个没有写入库功能,已经到这一步了,入库功能是很简单的事了,需要的请自己去完成吧,其它功能各位自行完善吧!把代码拷贝过去直接运行即可看到效果

Dim Url,List_PageCode,Array_ArticleID,i,ArticleID
Dim Content_PageCode,Content_TempCode
Dim Content_CategoryID,Content_CategoryName,BorderID,ClassID,BorderName,ClassName
Dim ArticleTitle,ArticleAuthor,ArticleFrom,ArticleContent

Url = "http://www.webasp.net/article/class/1.htm"
List_PageCode = getHTTPPage(Url)
List_PageCode = RegExpText(List_PageCode,"打印/th>/tr>","/table>table border=0 cellpadding=5",0)
List_PageCode = RegExpText(List_PageCode,"td align=left>a href='../","'>img border=0 src='../images/authortype0.gif'",1)    '取得当前列表页的文章链接,以,分隔
Array_ArticleID = Split(List_PageCode,",")    '创建数组,存储文章ID

For i=0 To Ubound(Array_ArticleID)-1
    ArticleID = Array_ArticleID(i)    '文章ID
    Content_PageCode = getHTTPPage("http://www.webasp.net/article/"ArticleID)    '取得文章页的内容

    '=========取文章分类及相关ID参数 开始=======================
    Content_TempCode = RegExpText(Content_PageCode,"a href=""/article/"">技术教程/a> gt;gt; ","gt;gt; 内容/td>",0)
    Content_CategoryID = RegExpText(Content_PageCode,"a href='../class","/'>",1)
    BorderID = Split(Content_CategoryID,",")(0)    '大类ID
    ClassID = Split(Content_CategoryID,",")(1)    '子类ID
        '==========检查大类是否存在 开始===============
        '如果不存在则入库

        '==========检查大类是否存在 结束===============
    'Response.Write(BorderID "," ClassID "br />")
    Content_CategoryName = RegExpText(Content_PageCode,"/'>","/a>",1)
    BorderName = Split(Content_CategoryName,",")(0)    '大类名称
    ClassName = Split(Content_CategoryName,",")(1)    '子类名称
        '==========检查子类是否存在 开始===============
        '如果不存在则入库

        '==========检查子类是否存在 结束===============
    '=========取文章分类及相关ID参数 结束=======================

    '=========取文章标题及内容 开始=============================
    ArticleTitle = RegExpText(Content_PageCode,"tr>td align=center bgcolor=#DEE2F5>strong>","/strong>/td>/tr>",0)
    ArticleAuthor = RegExpText(Content_PageCode,"tr>td>span class=blue>作者:/span>","/td>/tr>",0)
    ArticleFrom = RegExpText(Content_PageCode,"tr>td>span class=blue>来源:/span>","/td>/tr>",0)
    ArticleContent = RegExpText(Content_PageCode,"tr>td class=content style=""WORD-WRAP: break-word"" id=zoom>","/td>/tr>"VBCrlf"        /table>"VBCrlf"    /td>/tr>/table>",0)
    '=========取文章标题及内容 结束=============================
    Response.Write(ArticleTitle "br />br />")
    Response.Flush()
Next


附几个函数:

Function getHTTPPage(url)
    IF(IsObjInstalled("Microsoft.XMLHTTP") = False)THEN
        Response.Write "br>br>服务器不支持Microsoft.XMLHTTP组件"
        Err.Clear
        Response.End
    END IF
    On Error Resume Next
    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
        Response.Write "br>br>获取文件内容出错"
        'Response.End
        Err.Clear
    END IF 
End Function

       
Function BytesToBstr(CodeBody,CodeSet)
    Dim objStream
    SET objStream = Server.CreateObject("adodb.stream")
    objStream.Type = 1
    objStream.Mode =3
    objStream.Open
    objStream.Write CodeBody
    objStream.Position = 0
    objStream.Type = 2
    objStream.Charset = CodeSet
    BytesToBstr = objStream.ReadText
    objStream.Close
    SET objStream = NOTHING
End Function

'================================================
'作  用:检查组件是否已经安装
'返回值:True  ----已经安装
'        False ----没有安装
'================================================
Function IsObjInstalled(objName)
    On Error Resume Next
    IsObjInstalled = False
    Err = 0
    Dim testObj
    SET testObj = Server.CreateObject(objName)
    IF(0 = Err)THEN IsObjInstalled = True
    SET testObj = NOTHING
    Err = 0
End Function

Function RegExpText(strng,strStart,strEnd,n)
    Dim regEx,Match,Matches,RetStr
    SET regEx = New RegExp
    regEx.Pattern = strStart"([\s\S]*?)"strEnd
    regEx.IgnoreCase = True
    regEx.Global = True
    SET Matches = regEx.Execute(strng)
    For Each Match in Matches
        IF(n=1)THEN
            RetStr = RetStr regEx.Replace(Match.Value,"$1") ","
        ELSE
            RetStr = RetStr regEx.Replace(Match.Value,"$1")
        END IF
    Next
    RegExpText = RetStr
    SET regEx=NOTHING
End Function

标签:台湾 怀化 成都 公主岭 内江 重庆 天津 丽江

巨人网络通讯声明:本文标题《写了段批量抓取某个列表页的东东》,本文关键词  写了,段批量,段,批量,抓取,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《写了段批量抓取某个列表页的东东》相关的同类信息!
  • 本页收集关于写了段批量抓取某个列表页的东东的相关信息资讯供网民参考!
  • 推荐文章

    上一篇:XML相关技术资料

    下一篇:让ASP搭配MYSQL