对于不怎么熟悉编程的朋友来说,需要采集别人网站的内容往往都要找专业的编程朋友来写采集程式,其实采集程式并不是很复杂,只要你认真阅读本文并领会其中的要点并熟悉基本编程知识,你也能轻易的写出采集目标网站内容的程式。(本文以Asp语言为例)
1、采集程式的原理
采集程式原理就是获取目标网站的内容列表,再按条读取并筛选需要的信息,如标题、时间、内容等。
2、如何获取目标网站的源代码?
在Asp中可以用xmlHttp来获取远程网页代码,以下为读取远程代码函数:
Function getHTTPPage(url)
set http=Server.createobject("Microsoft.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 "代码获取失败"
Err.Clear
End If
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
3、如何筛选想要的信息?
获取源代码后,就是在复杂的代码中提取自己想要的信息。这里提供一个提取想要内容的函数,可以通过开始字段和结束字体来分割内容。
Function GetKey(HTML,Start,Last)
Filearray=Split(HTML,Start)
Filearray2=Split(Filearray(1),Last)
GetKey=Filearray2(0)
End Function
4、如何完成采集过程?
在采集的过程上中可以获取一条信息就即时存入数据库,也可以采集完成后保存到临时文件再调用第二阶段储存函数,以保证采集的内容都能正常存入数据库。
应用案例:
原创文章转载请注明引自石头博客 http://www.stou.info/ 欢迎订阅石头博客。
好东西,不错啊
真是砖家啊,可这是不是有点折腾啊?火车头就挺好用的呀.
能提供一个详细的PHP采集程序吗?感谢了呵呵!
我也软件了..
没想到你都分析到这么深入了
都是直接用软件采集,但是现在采集站都不是很流行了
哈哈,学习,好好学习天天向上。
拿现成的,我不会写··
我现在只能用现成的
好多东东都是在不断的积累中,学习到的。
不管别的,沙发一定是我的,至于采集的这些程式代码嘛,我看着是头疼,有时间还真的得和石头兄弟请教请教呢。嘿嘿……