今天闲得没事,就写了一个小偷程序,呵呵,不要误会哦,本人生性光明。只是好久没有认真写程序了,热热身子。主要思路还是来源于http://blog.csdn.net/manyou/archive/2004/09/14/103617.aspx,在此表示感谢,我只不过是在他的思路下丰富了一下,使得该程序更容易使用而已,不是我的功劳。
关于原理方面的东西,我这里就不多讲了,网上讲原理的很多,感兴趣可以去baidu一下。
可以将取得的文章放入ACCESS或者是SQL数据库,在你的数据库中建立两个表,一个是GetContent,有四个字段,id(自增),title(文本200),content(TEXT),type(类型),另外一个类型表type,有两个字段,id(自增),typename(分类名)。
数据库连接文件conn.asp如下:
<%
on error resume next
public conn
DatabaseType=1'如果是1就将收取的内容放入ACCESS数据库,如果是其它就放入SQL数据库
if DatabaseType=1 then
connstr="DBQ="+server.mappath("data/data.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
else
sub ConnLink
set conn=server.createobject("adodb.connection")
Conn.open "Provider=Sqloledb; User ID=sa; Password=123; Initial Catalog=data; Data Source=(local);"
If Err Then
Response.Write "数据库链接失败!"
Response.Write "<br>"&Err.description
Err.Clear
Conn.Close
Set Conn=Nothing
End If
end sub
sub ConnClose
conn.close
set conn=nothing
end sub
end if
%>
下面是主要程序文件:
<!--#include file=conn.asp-->
<%
on error resume next
Server.ScriptTimeOut=10000 '设定操作超时的时间(因为程序运行速度慢啊)
''''''''''''''''''''''''''''''''''''''''''把下面的几个参数改了就可以了
HeadURL="http://www.72598.com/article7.asp?article_id="'文章来源ID
URLstartID=1'开始ID号
URLendID=5'结束ID号
SeparateHead="<td class=""article_detaill"" id=""sizeSet"">"'文章内容的前面特殊符,要唯一
SeparateEnd="【<a href=""#top"">返回顶部</a>】"'文章内容的后面特殊符,要唯一
TitleSeparateHead="<font color=""#FF0000"" style=""font-size:24px"">"'文章标题的前面特殊符,要唯一
TitleSeparateEnd="</font> </td>"'文章标题的后面特殊符,要唯一
'''''''''''''''''''''''''''''''''''''''''在这里结束
call getRangeConent(URLstartID,URLendID,HeadURL,SeparateHead,SeparateEnd,TitleSeparateHead,TitleSeparateEnd)
dim rs,sql
Function getRangeConent(startID,endID,defaultURL,SHead,SEnd,TSeparateHead,TSeparateEnd)
call ConnLink
for i=startID to endID
currentURL=defaultURL&startID
'Response.write currentURL
call getContent(currentURL,SHead,SEnd,TSeparateHead,TSeparateEnd)
'Response.write "startID: "&startID&"<br>"
startID=startID+1
next
Call ConnClose
End Function
Function getContent(url,SHead,SEnd,TSeparateHead,TSeparateEnd)
wstr = getHTTPPage(url) '取得页面内容
if err.number=0 then '如果获取成功
'''''''''''''取得文章标题
start=newstring(wstr,TSeparateHead) '要获取的内容在网页中的开始位置(通过唯一的标志寻找)
over=newstring(wstr,TSeparateEnd) '要获取的内容在网页中结束位置(通过唯一的标志寻找)
title=mid(wstr,start+45,over-start-45) '获取想要的内容
'''''''''''''取得文章内容
start=newstring(wstr,SHead) '要获取的内容在网页中的开始位置(通过唯一的标志寻找)
over=newstring(wstr,SEnd) '要获取的内容在网页中结束位置(通过唯一的标志寻找)
wstr=mid(wstr,start+41,over-start-156) '获取想要的内容
content=replace(wstr,"/admin/editor/UploadFile","http://www.72598.com//admin/editor/UploadFile") '替换掉你不想要的内容
'response.write content
wstr=""'释放内存
call writeDatabase(title,content)
end if
End Function
Function writeDatabase(thisTitle,thisContent)
sql="insert into GetContent(title,content,type) values('"&thisTitle&"','"&thisContent&"',1)"
conn.execute(sql)
End Function
function getHTTPPage(url)
on error resume next
dim http
set http=Server.createobject("Microsoft.XMLHTTP")
Http.open "GET",url,false
Http.send()
if Http.readystate<>4 then
exit function
end if
getHTTPPage=bytes2BSTR(Http.responseBody)
set http=nothing
if err.number<>0 then err.Clear
end function
Function bytes2BSTR(vIn)
dim strReturn
dim i,ThisCharCode,NextCharCode
strReturn = ""
For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
bytes2BSTR = strReturn
End Function
Function NewString(wstr,strng)
NewString=Instr(wstr,strng)
End Function
%>
备注:这里有一个问题,就是我在采集文章的时候,最多只能够同时采集3篇文章,我仔细检察了一下,程序上没有问题,我的服务环境采用是netbox,我有点怀疑是问题出在这上面。因为本机上没有IIS,有兴趣的朋友可以试一下,然后给我一个答案,就感谢了。
分享到:
相关推荐
总的来说,这个ASP文章小偷程序涉及的技术点包括:ASP编程基础,URL重写(伪静态),HTTP请求,HTML解析,数据抓取策略,以及可能的数据库操作。对于想要学习网页抓取和ASP开发的初学者,这是一个很好的实践案例,但...
ASP软件小偷程序,也被称为ASP数据采集器,是一种基于ASP(Active Server Pages)技术的网页数据抓取工具。在互联网上,此类程序通常用于快速获取特定网站的公开信息,如文章、产品列表等,然后将这些数据整合到自己...
标题"百度知道+百科小偷程序整合_小偷采集站.rar"表明这是一个关于网络数据采集的程序,特别针对百度知道和百度百科的自动化抓取工具。"小偷采集站"通常指的是那些通过自动化手段从其他网站获取内容的网站,这种行为...
这款ASP小偷程序的核心原理是通过HTTP请求获取其他网站的页面内容,然后使用正则表达式或其他解析方法提取所需的数据,如文章标题、内容、作者等,再将这些信息整合到自己的网站上。这种技术在早期互联网中较为常见...
【asp手机网小偷程序v1.0】是一款基于ASP编程语言开发的网站程序,主要用于构建手机端的网站,能够快速抓取并展示互联网上的信息。这个程序的名称中的"小偷程序"并非指非法窃取数据,而是指其能够自动化获取网络上的...
【标题】"新白领女性频道小偷2.2—asp 小偷程序"指的是一个基于ASP(Active Server Pages)技术的网页抓取或数据采集工具,主要针对“新白领女性”这一特定网络频道的内容。这类程序通常用于自动从目标网站上抓取...
"ASP.NET-[小偷采集]万能小偷程序 v1.0 beta_wnxt.rar"这个文件名中,"wnxt"可能是开发者或项目组的缩写,或者是特定功能或版本的代号。".rar"是文件的压缩格式,通常用于打包多个相关文件或文件夹,便于传输和存储...
你可以通过这种小偷程序,完成过去一些似乎完全不可能实现的任务,比如说把某个站的页面偷梁换柱后变成自己的页面,或者把某个站的一些数据(文章,图片)保存到本地数据库中加以利用。 “小偷程序”的优点. ...
小偷程序内容自动更新,免维护,管理方便,操作简单,是菜鸟及懒人站长建站的最佳选择 免费版功能简介: rar压缩包仅30KB,小巧简单实用性超强的asp网站程序 傻瓜式安装和设置网站信息 伪静态方式显示页面 完美...
在ASP(Active Server Pages)源码中,"小偷程序"或"采集程序"通常指的是能够自动爬取互联网上的特定内容(如图片、文章等)并保存到本地服务器的脚本。这种程序的目的是简化网站内容更新的过程,尤其是在需要频繁...
ASP入库小偷程序是一种自动化工具,它通过网络爬虫技术抓取其他网站的数据,然后存储到自己的数据库中,以供本地站点使用。这种程序通常利用XMLHTTP组件来实现远程网页的异步请求,从而获取HTML内容。以下是关于如何...
你可以通过这种小偷程序,完成过去一些似乎完全不可能实现的任务,比如说把某个站的页面偷梁换柱后变成自己的页面,或者把某个站的一些数据(文章,图片)保存到本地数据库中加以利用。 “小偷程序”的优点. ...
【天涯搜吧小偷程序 v1.0.rar】是一个基于ASP编程语言开发的网络爬虫程序,主要用于自动抓取和收集互联网上的特定信息,尤其在天涯社区这样的论坛平台。ASP,全称为Active Server Pages,是微软公司推出的一种服务器...
【标题】"论文网麦小偷程序V1.0版.rar"揭示了这是一个基于ASP编程语言的网页抓取工具,其主要功能是用于从特定网站上自动采集数据,特别是可能与学术论文相关的资源。"麦小偷"是该程序的名字,暗示了它能够“偷取”...
标题中的“万能小偷克隆程序V3.81(免授权)”是指一种能够自动抓取并复制网络上其他网站内容的软件工具。这种程序通常被用于快速创建镜像网站或者批量获取特定类型的信息,例如新闻、文章或者产品数据。在描述中...
【大泉州汽车网小偷程序 1.1】是一款基于ASP语言开发的网站内容采集工具。在互联网上,"小偷程序"通常指的是用于自动抓取、解析和发布网络上公开信息的软件。这种程序的主要功能是快速收集指定网站的数据,并将其...