主頁 > 知識庫 > 也談采集入庫的技術

也談采集入庫的技術

熱門標簽:電話機器人銷售公司嗎 vue 地圖標注拖拽 客服外呼系統(tǒng)呼叫中心 電話機器人案例 保定電銷機器人軟件 自動外呼系統(tǒng)怎么防止封卡 成都銷售外呼系統(tǒng)公司 土地證宗地圖標注符號 鎮(zhèn)江云外呼系統(tǒng)怎么樣
 

落伍的貼也看了很多了,發(fā)現(xiàn)了很多講小偷技術的,如精華貼里的--小偷程序原理和簡單示例:
[url]http://www.im286.com/viewthread.php?tid=407182extra=page%3D1[/url] 等等,也有提供采集程序下載的,但我還沒看到一篇完整的入庫的文章,或許是我看的貼少吧。雖然不是很深奧,我還是講講吧,希望高手別見笑啦,以前發(fā)了個原創(chuàng)的影視系

統(tǒng),卻沒落伍,這次再求落伍啦,希望大家?guī)晚斚?,也希望我能落伍?。?
入庫也和小偷一樣,要先得到需入庫的部分,我這里以[url]http://www.skycn.com/article/77.html[/url] 為例了
%
dim url,mydate
url="http://www.skycn.com/article/77.html" '定義url地址
Set OXML = server.CreateObject("Microsoft.XMLHTTP") 
'下面定義兩個函數(shù),得到數(shù)據(jù)
Private Function BytesToBstr(body)  '利用流進行中文編碼
Set ADOS = Server.CreateObject("ADODB.Stream")
        Dim Bdat
        Bdat=Body
        ADOS.Type = 1
        ADOS.Mode =3
        ADOS.Open
        ADOS.Write Bdat
        ADOS.Position = 0
        ADOS.Type = 2
        ADOS.Charset = "GB2312"
        BytesToBstr = ADOS.ReadText 
        ADOS.Close
End Function
Public Function GetData(byref url) '利用OXML得到數(shù)據(jù)
        'on error resume next 
        SourceCode = OXML.open ("GET",url,false)
        OXML.send() 
        if OXML.readystate>4 then exit function
        GetData = BytesToBstr(OXML.responseBody)'
        if err.number>0 then err.Clear
End Function
mydate=getdata(url)
mydate=Replace(mydate,chr(34),"") '去掉一些特殊字符,如雙引號等,看自己情況定
mydate=Replace(mydate,chr(16),"")
response.write mydate
%>
我們就得到了以下的數(shù)據(jù):
'''''''''''''''''''''''''code start''''''''''''
省列去部分..............
href='../article/1034.html'>寬帶用戶需注意的七大安全/A>br>br>/td>/tr>/table> /td> td 

width=20>/td> td vAlign=top width=540> table border=0 width=540 borderColorDark=#ffffff 

borderColorLight=#cccccc cellPadding=0 cellSpacing=0> tr>td width='100%' align='center' 

bgcolor='#CED7F1' height='20'>b>font color='#000000'>03月10日值得注意病毒列表

/font>/b>      b>訪問次數(shù):/b>24345/td>/tr>tr>td 

bgcolor='#000000' height='1'>/td>/tr>tr>td width='100%' align='center'>br>b>作者:/b>

瑞星  b>來源:/b>font color=#000000>瑞星/font>  b>加入時間:

/b>2006-03-10  /td>/tr>tr>td>br>    據(jù)瑞星全球反病毒監(jiān)測

網(wǎng)介紹,今日有一個病毒特別值得注意,它是:“hotmail蠕蟲(Worm.Hotmatom)”病毒。該病毒是全球

第一個專門針對Hotmail編寫的蠕蟲病毒,當用戶登陸到MSN Hotmail發(fā)送郵件的時候,會被偷偷插入帶毒

鏈接,收信人點擊后就可能中毒。br>br>    本日熱門病毒:

br>br>    “hotmail蠕蟲(Worm.Hotmatom)”病毒:警惕程度★★★☆,蠕蟲

病毒,通過MSN Hotmail傳播,依賴系統(tǒng):WIN9X/NT/2000/XP。br>br>    病毒

感染計算機后,會把自己復制到“windows”目錄下,病毒文件名為“dho.exe”。病毒會修改注冊表,每

次打開計算機后都自動運行,然后在后臺監(jiān)視用戶的IE瀏覽器。當用戶登陸到MSN Hotmail發(fā)送郵件時,

病毒會在發(fā)送的郵件后插入病毒文字和鏈接:“Hi, Happy San Valentin Day Download you Postcards 

from http://***.miarroba.com(情人節(jié)到了,去**網(wǎng)站下載賀卡吧)”,用戶點擊該鏈接后就會中毒。

br>br>    反病毒專家建議電腦用戶采取以下措施預防該病毒:建立良好的安全

習慣,不打開可疑郵件和可疑網(wǎng)站;關閉或刪除系統(tǒng)中不需要的服務;很多病毒利用漏洞傳播,一定要及

時給系統(tǒng)打補?。话惭b專業(yè)的防毒軟件進行實時監(jiān)控,平時上網(wǎng)的時候一定要打開防病毒軟件的實時監(jiān)控

功能。br>br>iframe name=import_frame width=1 height=1 

src=http://iplog.skycn.com/articlefrom.php?id=77 frameborder=no>/iframe>/td>/tr>TR>TD 

bgColor=#cccccc height=1>/TD>/tr>tr>td>b>br>相關文章:/b>/td>/tr> tr>td>li 

type=circle> A href='../article/2887.html' target=_blank title='閱讀文章[QQ又帶新病毒:恐怖

的智能流氓軟件]'>QQ又帶新病毒:恐怖的智能流氓軟件/A>br>li type=circle> A 

href='../article/827.html' target=_blank title='閱讀文章[03月08日值得注意病毒列表]'>03月08日

值得注意病毒列表/A>br>li type=circle> A href='../article/1126.html' target=_blank 

title='閱讀文章[失戀日記實為電腦病毒 疑為學生失戀后制造]'>失戀日記實為電腦病毒 疑為學生失戀

后制造/A>br>li type=circle> A href='../article/102.html' target=_blank title='閱讀文章[

黑客盯上“血饅頭”!6成論壇含病毒鏈接]'>黑客盯上“血饅頭”!6成論壇含病毒鏈接/A>br>li 

type=circle> A href='../article/2885.html' target=_blank title='閱讀文章[病毒總結:狗年春節(jié)

間木馬和QQ病毒多發(fā)]'>病毒總結:狗年春節(jié)間木馬和QQ病毒多發(fā)/A>br>li type=circle> A 

href='../article/995.html' target=_blank title='閱讀文章[四類病毒可能在春節(jié)發(fā)作 專家提醒應及

時防范]'>四類病毒可能在春節(jié)發(fā)作 專家提醒應及時防范/A>br>li type=circle> A 

href='../article/3056.html' target=_blank title='閱讀文章[專家表示:BT下載不會耗費硬盤 更不

會帶來病毒]'>專家表示:BT下載不會耗費硬盤 更不會帶來病毒/A>br>li type=circle> A 

href='../article/1229.html' target=_blank title='閱讀文章[千萬QQ表情暗藏病毒:背后另有驚人秘

密]'>千萬QQ表情暗藏病毒:背后另有驚人秘密/A>br>li type=circle> A 

href='../article/938.html' target=_blank title='閱讀文章[微軟live遭釣魚網(wǎng)站仿冒 病毒偽裝MSN

測試版?zhèn)鞑'>微軟live遭釣魚網(wǎng)站仿冒 病毒偽裝MSN測試版?zhèn)鞑?A>br>li type=circle> A 

href='../article/315.html' target=_blank title='閱讀文章[上網(wǎng)不用防火墻!一招克死所有病毒]'>

上網(wǎng)不用防火墻!一招克死所有病毒/A>br>/td>/tr>tr>td>b>br>相關軟件:/b>/td>/tr> 

tr>td>li type=circle> A href='../soft/6805.html' target=_blank title='瀏覽軟件[金山毒霸

引擎病毒庫升級包(2006.03.09)]'>金山毒霸引擎病毒庫升級包(2006.03.09)/A>br>li type=circle> 

A href='../soft/3722.html' target=_blank title='瀏覽軟件[F-Secure Anti-Virus 病毒碼省列去部

分..............
''''''''''''''''''''''''''''code end '''''''''''''''''
我們所需要的也就定義在mydate里了,但如何來定位呢?大家都知道asp里有l(wèi)eft()和right() 函數(shù),我

們就用它們來做。我們先來定個函數(shù),
Public Function finddate(byref str,byref start,byref last,byref n)
        If Instr(lcase(str),lcase(start))>0 then
                select case n
                case 0        '左右都截取(都取前面)(去處關鍵字)
                finddate=Right(str,Len(str)-Instr(lcase(str),lcase(start))-Len(start)+1)
                finddate=Left(finddate,Instr(lcase(finddate),lcase(last))-1)
                case 1        '左右都截?。ǘ既∏懊妫ūA絷P鍵字)
                finddate=Right(str,Len(str)-Instr(lcase(str),lcase(start))+1)
                finddate=Left(finddate,Instr(lcase(finddate),lcase(last))+Len(last)-1)
                end select
        Else
                finddate=""
        End if
end function
這個就是截取里面內容的函數(shù)了
下面我們來得到文章標題:03月10日值得注意病毒列表
dim title,artor,content,wherefrom
title=finddate(mydate,"width=540 borderColorDark=#ffffff 

borderColorLight=#cccccc",/font>/b>,1)
這樣,我們就把標題定位到了個小范圍內了:width=540 borderColorDark=#ffffff 

borderColorLight=#cccccc cellPadding=0 cellSpacing=0> tr>td width='100%' align='center' 

bgcolor='#CED7F1' height='20'>b>font color='#000000'>03月10日值得注意病毒列表/font>/b>
在精確定位下就行了,
title=finddate(title,"font color='#000000'>","/font>/b>",0)
現(xiàn)在,title的值就是:03月10日值得注意病毒列表
artor=finddate(mydate,"作者:/b>","  b>",0) '得到作者
wherefrom=finddate(mydate,"來源:/b>font color=#000000>","/font>  ",0)'得到來源
content=finddate(mydate,"/td>/tr>tr>td>br>","br>br>iframe name=import_frame",0)'得到

正文內容
至此,我們已經得到了我們想要的數(shù)據(jù)了,在下來就是把title,artor,content,wherefrom 入庫了,

其實采集入庫就怎么簡單了,只是在用finddate()是要注意里面byref start和byref last,最好是

mydate里面唯一的,這樣便于定位。如不是唯一的,我們可以先縮小范圍再來精確定位。有必要時可以弄

個循環(huán)來得到數(shù)據(jù)。完整的代碼如下
''''''''''''''''''''code start'''''''''''''''''''
%
dim url,mydate
url="http://www.skycn.com/article/77.html"
Set OXML = server.CreateObject("Microsoft.XMLHTTP") 
'下面定義兩個函數(shù),得到數(shù)據(jù)
Private Function BytesToBstr(body)  '利用流進行中文編碼
Set ADOS = Server.CreateObject("ADODB.Stream")
        Dim Bdat
        Bdat=Body
        ADOS.Type = 1
        ADOS.Mode =3
        ADOS.Open
        ADOS.Write Bdat
        ADOS.Position = 0
        ADOS.Type = 2
        ADOS.Charset = "GB2312"
        BytesToBstr = ADOS.ReadText 
        ADOS.Close
End Function
Public Function GetData(byref url) 
        'on error resume next 
        SourceCode = OXML.open ("GET",url,false)
        OXML.send() 
        if OXML.readystate>4 then exit function
        GetData = BytesToBstr(OXML.responseBody)'
        if err.number>0 then err.Clear
End Function
mydate=getdata(url)
mydate=Replace(mydate,chr(34),"") '去掉一些特殊字符,如雙引號等,看自己情況定
mydate=Replace(mydate,chr(16),"")
Public Function finddate(byref str,byref start,byref last,byref n)
        If Instr(lcase(str),lcase(start))>0 then
                select case n
                case 0        '左右都截?。ǘ既∏懊妫ㄈヌ庩P鍵字)
                finddate=Right(str,Len(str)-Instr(lcase(str),lcase(start))-Len(start)+1)
                finddate=Left(finddate,Instr(lcase(finddate),lcase(last))-1)
                case 1        '左右都截?。ǘ既∏懊妫ūA絷P鍵字)
                finddate=Right(str,Len(str)-Instr(lcase(str),lcase(start))+1)
                finddate=Left(finddate,Instr(lcase(finddate),lcase(last))+Len(last)-1)
                end select
        Else
                finddate=""
        End if
end function
dim title,artor,content,wherefrom
title=finddate(mydate,"width=540 borderColorDark=#ffffff 

borderColorLight=#cccccc","/font>/b>",1)
title=finddate(title,"font color='#000000'>","/font>/b>",0)
artor=finddate(mydate,"作者:/b>","  b>",0)
wherefrom=finddate(mydate,"來源:/b>font color=#000000>","/font>  ",0)
content=finddate(mydate,"/td>/tr>tr>td>br>","br>br>iframe name=import_frame",0)
call intomdb(title,artor,content,wherefrom)

function intomdb(title,artor,content,wherefrom)
'''''''''''''''''''''''''''''''''''
'''這個是入庫的函數(shù),自己定義下就可以了
''''''''''''''''''''''''''''''''''' 
end function
%>
我這里只是以采集文章為例,其它的采集軟件等都是這個道理。
說了怎么多,我也不知道各位能不能看懂,如看不動那可能是我不會表達了,大家見諒。畢竟我沒讀過文

科,^_^

我只是講原理,程序是靠自己寫的,要采集的速度快,你還可以寫成exe的啊,這樣比較快,占內存少

標簽:麗江 內江 臺灣 天津 懷化 重慶 成都 公主嶺

巨人網(wǎng)絡通訊聲明:本文標題《也談采集入庫的技術》,本文關鍵詞  也,談,采集,入庫,的,技術,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《也談采集入庫的技術》相關的同類信息!
  • 本頁收集關于也談采集入庫的技術的相關信息資訊供網(wǎng)民參考!
  • 推薦文章

    上一篇:E-mail表單遞交

    下一篇:先鋒海盜類