写了段批量抓取某个列表页的东东_小偷/采集

有些人当抓取程序是个宝,到目前还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> >> ",">> 内容</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

时间: 2024-10-26 01:39:07

写了段批量抓取某个列表页的东东_小偷/采集的相关文章

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

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

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

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

实例讲解实现抓取网上房产信息的ASP程序_小偷/采集

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%><!-- #include file="conn.asp" --> <!-- #include file="inc/function.asp" --><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "h

笨笨图片批量抓取下载 V0.2 beta[C# | WinForm | 正则表达式 | HttpWebRequest | Async异步编程]

前言      首次在博客园首页发布文章,一直把自己的文章定位在新手区,也一直这样认为自己的.这段时间看博客园首页挺多的,说实在的有些文章很一般但是得到更多朋友以及高手的指点,所以鼓起勇气把自己花了几天时间改版的图片下载器贴上来,希望能在程序的性能上以及适用上得到更多的宝贵的建议!先谢谢每位看客赏光了 : )   感谢      MSDN     MSDN上异步网络编程的例子是我0.2版的核心所在   运行环境      .NET Framework2.0   开发工具      Microso

分享PHP源码批量抓取远程网页图片并保存到本地的实现方法_php实例

做为一个仿站工作者,当遇到网站有版权时甚至加密的时候,WEBZIP也熄火,怎么扣取网页上的图片和背景图片呢.有时候,可能会想到用火狐,这款浏览器好像一个强大的BUG,文章有版权,屏蔽右键,火狐丝毫也不会被影响. 但是作为一个热爱php的开发者来说,更多的是喜欢自己动手.所以,我就写出了下面的一个源码,php远程抓取图片小程序.可以读取css文件并抓取css代码中的背景图片,下面这段代码也是针对抓取css中图片而编写的. <?php header("Content-Type: text/ht

用Node.js通过sitemap.xml批量抓取美女图片

  这篇文章主要介绍了用Node.js通过sitemap.xml批量抓取美女图片的方法和相关代码,有需要的小伙伴可以参考下. 之前看了很多个版本,自己也搞一个. 1. 支持指定保存到哪个目录 2. 按文章进行分目录存放 3. 支持设置并行下载上限 下次有空再搞个整站下载的. package.json ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 { "name": "me2sex-images", "version&qu

使用HtmlAgilityPack批量抓取网页数据

原文:使用HtmlAgilityPack批量抓取网页数据 相关软件点击下载 登录的处理.因为有些网页数据需要登陆后才能提取.这里要使用ieHTTPHeaders来提取登录时的提交信息. 抓取网页  HtmlAgilityPack.HtmlDocument htmlDoc;            if (!string.IsNullOrEmpty(登录URL))            {                htmlDoc = htmlWeb.Load(登录URL, 提交的用户验证信息,

url-使用Python抓取下一页网页数据

问题描述 使用Python抓取下一页网页数据 怎么抓取一个无论怎么跳转其url都不变的网页?通过Requests和BeautifulSoup能实现吗? http://www.szairport.com/frontapp/HbxxServlet?iscookie=C 另外其下一页的跳转指令是js写的,我该怎么通过这条指令跳转下一页,命令如下: [<a href="javascript:void(0);" onclick="page.moveNext()">

用Node.js通过sitemap.xml批量抓取美女图片_javascript技巧

之前看了很多个版本,自己也搞一个. 1. 支持指定保存到哪个目录 2. 按文章进行分目录存放 3. 支持设置并行下载上限 下次有空再搞个整站下载的. package.json { "name": "me2sex-images", "version": "0.0.1", "description": "Batch download images from http://me2-sex.lofter.