久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

小偷程序大揭秘

 ender 2006-08-14
小偷程序大揭秘

前言:小偷程序其實(shí)是懶人的妙法。它可以偷文章,,實(shí)時(shí)新聞資訊,,歌曲,,甚至歌曲數(shù)據(jù)的職能尋找和入庫(kù)等,!功能可謂強(qiáng)大,,但是還有好多朋友到處求小偷程序,,問(wèn)什么,?因?yàn)榫W(wǎng)上沒(méi)有幾篇詳細(xì)介紹小偷程序的文章供大家參考,。其實(shí)做小偷程序并不難,我在這兒把我作小偷程序的經(jīng)驗(yàn)貼出來(lái)大家看看,,可能也有不對(duì)的地方,,請(qǐng)大家多多指出來(lái)。

一,、基本原理及簡(jiǎn)單實(shí)例

原理部分網(wǎng)上太多了,,blue1000也沒(méi)有必要在這里羅嗦了,這里引用一下,嘿嘿
注:此下內(nèi)容為引用(有部分修改):原作者:572019 引用自:動(dòng)易網(wǎng)絡(luò)

(一)原理
小偷程序?qū)嶋H上是通過(guò)了XML中的XMLHTTP組件調(diào)用其它網(wǎng)站上的網(wǎng)頁(yè),。比如新聞小偷程序,,很多都是調(diào)用了sina的新聞網(wǎng)頁(yè),并且對(duì)其中的html進(jìn)行了一些替換,,同時(shí)對(duì)廣告也進(jìn)行了過(guò)濾,。用小偷程序的優(yōu)點(diǎn)有:無(wú)須維護(hù)網(wǎng)站,因?yàn)樾⊥党绦蛑械臄?shù)據(jù)來(lái)自其他網(wǎng)站,,它將隨著該網(wǎng)站的更新而更新,;可以節(jié)省服務(wù)器資源,,一般小偷程序就幾個(gè)文件,所有網(wǎng)頁(yè)內(nèi)容都是來(lái)自其他網(wǎng)站,。缺點(diǎn)有:不穩(wěn)定,,如果目標(biāo)網(wǎng)站出錯(cuò),程序也會(huì)出錯(cuò),,而且,,如果目標(biāo)網(wǎng)站進(jìn)行升級(jí)維護(hù),那么小偷程序也要進(jìn)行相應(yīng)修改,;速度,,因?yàn)槭沁h(yuǎn)程調(diào)用,速度和在本地服務(wù)器上讀取數(shù)據(jù)比起來(lái),,肯定要慢一些,。
(二)事例
下面就XMLHTTP在ASP中的應(yīng)用做個(gè)簡(jiǎn)單說(shuō)明

<%
’常用函數(shù)
’1、輸入url目標(biāo)網(wǎng)頁(yè)地址,,返回值getHTTPPage是目標(biāo)網(wǎng)頁(yè)的html代碼
function getHTTPPage(url)
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 err.Clear
end function
‘2,、轉(zhuǎn)換亂瑪,直接用xmlhttp調(diào)用有中文字符的網(wǎng)頁(yè)得到的將是亂瑪,,可以通過(guò)adodb.stream組件進(jìn)行轉(zhuǎn)換

Function BytesToBstr(body)
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 = "GB2312" ’轉(zhuǎn)換原來(lái)默認(rèn)的UTF-8編碼轉(zhuǎn)換成GB2312編碼,否則直接用XMLHTTP組件調(diào)用有中文字符的網(wǎng)頁(yè)得到的將是亂碼
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
’下面試著調(diào)用http://www./earticle/的html內(nèi)容
Dim Url,Html
Url="http://www./earticle/";
Html = getHTTPPage(Url)
Response.write Html
%>

注:此上內(nèi)容為引用(有部分修改):原作者:572019 引用自:動(dòng)易網(wǎng)絡(luò)

二,、幾個(gè)常用的函數(shù)

(一)InStr 函數(shù)
描述
返回某字符(string2)串在另一字符串(string1)中第一次出現(xiàn)的位置,。
語(yǔ)法
InStr(string1, string2)
例如:
Dim SearchString, SearchChar
SearchString ="http://" ‘ 要在其中搜索的字符串。
SearchChar = "blue1000" ‘ 搜索 "blue1000",。
MyBK = Instr(SearchString, SearchChar) ‘ 返回 8
‘如果找不到則返回“0”,,例如:
SearchChar = "BK"
MyBK = Instr(SearchString, SearchChar) ‘ 返回 0

(二)Mid 函數(shù)
描述
從字符串中返回指定數(shù)目的字符。
語(yǔ)法
Mid(string, start, over)
例如:
Dim MyBK
MyBK = Mid("我們的BK()設(shè)計(jì)", 7, 12) ‘截取字符串"我們的BK()設(shè)計(jì)"第7個(gè)字符以后的12個(gè)字符
‘此時(shí)MyBK的值就變成了""

(三)Replace 函數(shù)(這個(gè)我就不細(xì)說(shuō)了,,只舉個(gè)例子)
Dim SearchString, SearchChar
SearchString ="我們的BK設(shè)計(jì)是一個(gè)網(wǎng)站建設(shè)資源網(wǎng)站" ‘ 要在其中搜索的字符串,。
SearchString =Replace(SearchString,"BK設(shè)計(jì)","Blue1000.Com")
‘此時(shí)SearchString的值就變成了"我們的Blue1000.Com是一個(gè)網(wǎng)站建設(shè)資源網(wǎng)站"

上面的內(nèi)容只說(shuō)了如何獲取整個(gè)頁(yè)面的html的代碼和幾個(gè)常用的函數(shù),那么如何獲取指定部分的代碼呢,?如何刪除我不需要的內(nèi)容呢,?如何才能將外站的鏈接改成我的呢?又如何實(shí)現(xiàn)把原來(lái)的翻頁(yè)做成我的呢,?
上一篇blue1000給大家講了些原理和幾個(gè)常用的函數(shù),,這一節(jié)說(shuō)一些技巧類的東西~(對(duì)高手來(lái)說(shuō),這是廢話,,所以高手可以不看,,但也不要罵我哦)

(一)如何截取指定區(qū)域的HTML代碼?
(對(duì)方網(wǎng)站的HTML代碼在哪兒看?暈:IE瀏覽器>>查看>>源文件,。不要告訴我你不知道IE是什么,!)
例如我只想獲取以下HTML代碼中"<td>"和"</td>"之間的的文字部分:

<html>
<title>BK()設(shè)計(jì)--網(wǎng)頁(yè)制作資源站點(diǎn)</title>
<body>
<table>
<tr><td></td></tr>
<tr><td id="Content">BK()設(shè)計(jì)--網(wǎng)頁(yè)制作資源站點(diǎn)是個(gè)資源多多的站點(diǎn)……</td></tr>
</table>
</body>
</html>
<%
……
Dim StrBK,start,over,RsBK
StrBK=getHTTPPage(網(wǎng)頁(yè)的地址)
start=Instr(StrBK,"<td id=""Content"">") ’此處的作用是獲取字符串開(kāi)始地方的定位,。Instr函數(shù)前面一節(jié)說(shuō)過(guò)了哦~
’這里要有人問(wèn)了:原來(lái)的代碼是<td id="Content">,怎么你這里調(diào)用的是<td id=""Content"">啊?答案:asp中(準(zhǔn)確的說(shuō)是VBscript中是用兩個(gè)雙引號(hào)來(lái)表示一個(gè)雙引號(hào)的,因?yàn)殡p引號(hào)對(duì)于程序來(lái)說(shuō)是個(gè)敏感字符,。)
over=Instr(StrBK,"…</td></tr>")’此處的作用是獲取字符串結(jié)束地方的定位,。
’這里又要有人問(wèn)了:( :程序調(diào)用HTML代碼干嗎前面多出來(lái)3個(gè)點(diǎn)點(diǎn)"…"啊,?答:提示:上面一行也有一個(gè)</td></tr>,,如果這里用</td></tr>來(lái)定位的話,程序會(huì)錯(cuò)誤地把上面一行的</td></tr>當(dāng)成欲獲取字符串的結(jié)束部分了,。
RsBK=mid(StrBK,start,over-start) ’此處的作用是取出StrBK中第start個(gè)字符到第over個(gè)字符之間的字符串,。mid函數(shù)前面一節(jié)我也講過(guò)了;over-start是為了計(jì)算出開(kāi)始位置和結(jié)束位置之間的距離,,也就是字符數(shù),。
response.write(RsBK) ’最后輸出程序獲取的內(nèi)容
%>
不要高興的太早,當(dāng)你運(yùn)行的時(shí)候,,你會(huì)發(fā)現(xiàn)頁(yè)面的html代碼有錯(cuò)誤,,為什么呢?因?yàn)槟惬@取的html代碼是:

<td id="Content">BK()設(shè)計(jì)--網(wǎng)頁(yè)制作資源站點(diǎn)是個(gè)資源多多的站點(diǎn)…
看到了吧,?有殘缺的HTML代碼?。≡趺崔k呢,?start=Instr(StrBK,"<td id=""Content"">")這個(gè)語(yǔ)句獲取的是"<td id="Content">"在StrBK中的位置數(shù),現(xiàn)在我們可以在程序語(yǔ)句的后面加上17,那么程序就會(huì)將位置指向<td id="Content">后面的那個(gè)字符.
好的,程序?qū)⒏某蛇@樣:

<%
……
Dim StrBK,start,over,RsBK
StrBK=getHTTPPage(網(wǎng)頁(yè)的地址)
start=Instr(StrBK,"<td id=""Content"">") + 17
over=Instr(StrBK,"…</td></tr>") ’這里你也可以減去七(-7)把3個(gè)點(diǎn)去掉
RsBK=mid(StrBK,start,over-start)
response.write(RsBK)
%>
這樣就OK了,我們就可以將我們想要的東西偷過(guò)來(lái)顯示在我們自己的頁(yè)面了,呵呵~

(二)如何將獲取的字符中的一部分刪掉或者做一些修改?
接著上面的來(lái)講,我們可以將RsBK中的"BK()"換成"BK":
RsBK=replace(RsBK,"BK()","BK")
或者直接把"()"刪掉:
RsBK=replace(RsBK,"()","")
好了,現(xiàn)在RsBK就變成了:"BK設(shè)計(jì)--網(wǎng)頁(yè)制作資源站點(diǎn)是個(gè)資源多多的站點(diǎn)……"了.

但是事實(shí)中,有些情況可能replace函數(shù)是不適應(yīng)的,比如我們想把某個(gè)字符串里面的所有連接都去掉.連接可能包括很多種類型,replace只能替代其中特定的一個(gè),我們不可能用一個(gè)又一個(gè)對(duì)應(yīng)的replace函數(shù)來(lái)替換吧?
那么現(xiàn)在就用到了程序中的正則表達(dá)式,詳細(xì)請(qǐng)參閱:
正則表達(dá)式簡(jiǎn)介(1):
http://www./bbs/disp ... ;ID=1558&page=1
正則表達(dá)式簡(jiǎn)介(2):
http://www./bbs/disp ... ;ID=1559&page=1

如果哪位朋友正好想去掉頁(yè)面中所有鏈接的話,請(qǐng)關(guān)注Blue1000.com的下一篇教程:<<如何清除網(wǎng)頁(yè)中的所有鏈接[正則表達(dá)式]>>

(三)如何將對(duì)方網(wǎng)站的翻頁(yè)也處理成我們自己的呢?
答案是:利用replace函數(shù)和頁(yè)面參數(shù)的傳遞,。
例如對(duì)方頁(yè)面里含有這樣的翻頁(yè)代碼:"<a href=2.htm>下一頁(yè)</a>",我們可以先利用上面講的內(nèi)容,獲取這個(gè)字符串,,然后用replace函數(shù):RsBK=replace(RsBK,"<a href=","<a href=page.asp?Url=")
然后再page.asp的程序里獲取Url的參數(shù)值,,最后用小偷技術(shù)獲取下一頁(yè)你想要的內(nèi)容就可以了。

(四)如何將獲取的內(nèi)容入庫(kù)
由于篇幅有限,這里簡(jiǎn)單說(shuō)一下.
其實(shí)很簡(jiǎn)單:
將偷來(lái)的內(nèi)容作一下處理,,防止在寫(xiě)入數(shù)據(jù)庫(kù)的時(shí)候出現(xiàn)sql注入錯(cuò)誤,,例如:replace(String,"‘","‘‘")
然后執(zhí)行一個(gè)插入數(shù)據(jù)庫(kù)操作的sql命令就ok了~
以上只是一些關(guān)于XMLHTTP組件的初級(jí)應(yīng)用,實(shí)際上它還能實(shí)現(xiàn)的功能還有很多,,比如說(shuō)保存遠(yuǎn)程圖片到本地服務(wù)器上,,配合adodb.stream組件可以把獲取來(lái)的數(shù)據(jù)保存進(jìn)數(shù)據(jù)庫(kù)。小偷的作用和使用范圍都很廣,。


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章