많은 친구들이 도둑 프로그램을 이해하지 못합니까? 도둑 프로그램이 무엇인지 아십니까? 오늘, ASP Alexa가 Foxin 편집자와 함께 쿼리 도둑 프로그램을 구현할 수있는 방법을 살펴 보겠습니다. 사실,이 문제는 우리가 상상했던 것만 큼 어렵지 않습니다.
<%
'독창성을 지원하기 위해서는 여기에 의견을 남겨주세요. 감사합니다!
'저자 : Cao Shangfei
'기본 도메인 이름을 얻으십시오
함수 getDomainUrl (url)
tempurl = replace (url, "http : //", "")
악기 (tempurl, "/")> 0 인 경우
tempurl = 왼쪽 (Tempurl, Instr (Tempurl, "/") -1)
끝 If
getDomainurl = tempurl
엔드 기능
기능 gethttppage (httpurl)
ISNull (httpurl) = true 또는 len (httpurl) <18 또는 httpurl = "$ false $"인 경우
gethttppage = "$ false $"
종료 기능
끝 If
희미한 HTTP
set http = server.createobject ( "msxml2.xmlhttp")
http.open "get", httpurl, false
http.send ()
http.readystate <> 4 인 경우
HTTP = 아무것도 설정하지 않습니다
gethttppage = "$ false $"
종료 기능
끝 If
gethttppage = http.responsetext
HTTP = 아무것도 설정하지 않습니다
err.number <> 0 인 경우
err.clear
끝 If
엔드 기능
'=======================================================================================
'기능 이름 : ScripthTml
'기능 : HTML 태그 필터
'Arguments: ConStr -----------------------------------------------------------------------------------------------------------------------
'tagname ------- 필터링 할 태그
'FTYPE 1은 왼쪽 레이블 2를 필터링하는 것을 의미하며 왼쪽 레이블을 필터링하고 중간 값 3은 왼쪽 레이블과 오른쪽 레이블을 필터링하여 내용을 유지하는 것을 의미합니다.
'=======================================================================================
함수 scripthtml (byval constr, tagname, ftype, IncludErst)
희미한 re
RE = New Regexp를 설정합니다
re.ignorecase = true
re.global = true
사례 ftype를 선택하십시오
사례 1
re.pattern = "<"& tagname & "([^>])*("& IncludErst & ") {1,} ([^>])*>"
constr = re.replace (constr, "")
사례 2
re.pattern = "<"& tagname & "([^>])*("& IncludErst & ") {1,} ([^>])*>.*? </"& tagname & "([^>])*>"
'응답. 제약 및 "<br>"
constr = re.replace (constr, "")
'response.write server.htmlencode (constr) & "<br>"
사례 3
re.pattern = "<"& tagname & "([^>])*("& IncludErst & ") {1,} ([^>])*>"
constr = re.replace (constr, "")
re.pattern = "</"& tagname & "([^>])*>"
constr = re.replace (constr, "")
종료 선택
scripthtml = constr
RE = 아무것도 설정하지 않습니다
엔드 기능
'=======================================================================================
'기능 이름 : getbody
'효과 : 문자열을 가로 채십시오
'인수 : 제한 ------- 가로 채울 문자열
'인수 : startstr ------ 시작 문자열
'인수 : Overstr ------- 끝 문자열
'기사 : 경사 ------- startstr 포함 여부
'기사 : 포함 --------- 포함 오버 스트
'=======================================================================================
함수 getbody (constr, startstr, overstr, conclul, conclur)
if chanstr = "$ false $"또는 constr = ""또는 isnull (constrs) = true 또는 startstr = ""또는 isnull (startstr) = true 또는 overstr = ""또는 isnull (overstr) = true입니다.
getbody = "$ false $"
종료 기능
끝 If
희미한 구성 요소
DIM Start, Over
constrtemp = lcase (constrs)
startstr = lcase (startstr)
Overstr = lcase (Overstr)
start = instrb (1, constrtemp, startstr, vbbbinarycompare)
'응답. 시작 & "<br>"& inclul & "<br>"
'응답. 엔드
시작하면 <= 0입니다
getbody = "$ false $"
종료 기능
또 다른
inclul = false 인 경우
start = start+lenb (startstr)
끝 If
끝 If
over = instrb (start, constrtemp, overstr, vbbbinarycompare)
'응답
'응답. 엔드
'response.write start & ""& over & ""& 오버 스타트
'응답. 엔드
오버 <= 0 또는 오버 <= 시작하면 시작하십시오
getbody = "$ false $"
종료 기능
또 다른
inclur = true 인 경우
Over = Over+Lenb (Overstr)
끝 If
끝 If
getbody = midb (Constr, Start, Over Start)
'응답. write getbody
'응답. 엔드
엔드 기능
'=======================================================================================
'기능 이름 : getArray
'방법 : $ array $로 분리 된 링크 주소를 추출하십시오
'인수 : 컨센스 ------- 주소의 원래 문자를 추출하십시오
'인수 : startstr ------ 시작 문자열
'인수 : Overstr ------- 끝 문자열
'기사 : 경사 ------- startstr 포함 여부
'기사 : 포함 --------- 포함 오버 스트
'=======================================================================================
함수 getArray (byval constr, startstr, overstr, conclul, conclur)
If chanstr = "$ false $"또는 constr = ""또는 isnull (supstr) = true 또는 startstr = ""또는 overstr = ""또는 isnull (startstr) = true 또는 isnull (overstr) = true 인 경우
getArray = "$ false $"
종료 기능
끝 If
Dim Tempstr, Tempstr2, objregexp, 일치, 일치
tempstr = ""
objregexp = new Regexp를 설정하십시오
objregexp.ignorecase = true
objregexp.global = true
objregexp.pattern = "("& startstr & ").+? ("& overstr & ")" "
매치 세트 = objregexp.execute (constrs)
경기에서 각 경기마다
tempstr = tempstr & "$ array $"& match.value
다음
일치 = 아무것도 설정하지 않습니다
TempStr = ""라면
getArray = "$ false $"
종료 기능
끝 If
tempstr = right (tempstr, len (tempst) -7)
inclul = false 인 경우
objregexp.pattern = startstr
tempstr = objregexp.replace (tempstr, "")
끝 If
inclur = false 인 경우
objregexp.pattern = overstr
tempstr = objregexp.replace (tempstr, "")
끝 If
objregexp = 아무것도 설정하지 않습니다
일치 = 아무것도 설정하지 않습니다
TempStr = ""라면
getArray = "$ false $"
또 다른
getArray = tempstr
끝 If
엔드 기능
기능 getalexarank (webuurl)
tempurl = getDomainurl (wewebr)
'http://client.alexa.com/common/css/scramble.css에서 데이터를 읽으십시오
Alexacss = "http://client.alexa.com/common/css/scramble.css"
Stralexacss = gethttppage (Alexacss)
'응답. Stralexacss
'응답. 엔드
Alexarankqueryurl = "http://www.alexa.com/data/details/traffic_details/"& tempurl
StralexAcontent = gethttppage (AlexarankQueryUrl)
RANKCONTENT = getBody (StralexAcontent, "Information Service .-->", "<!-Google_ad_section_end (name = default)->", False, False)
'그 속도의 클래스를 얻으십시오
strspan = getArray (rankContent, "<span class =" "", "" "" ", false, false)
'Response.write RankContent & "<br>"
'응답. strspan & "<br>"
'응답. 엔드
strspan <> "$ false $"라면
aspan = split (strspan, "$ array $")
i = 0에서 ubound (aspan)의 경우
'Response.Write "."& Aspan (i)
'Aspan (i), 즉 스팬 클래스가 Alexacss에 존재하는지 여부를 결정하십시오. 존재하는 경우 스팬 및 스팬의 데이터를 제거해야합니다.
인스프트 (Stralexacss, "."& aspan (i))> = 1 인 경우
'응답. aspan (i) & "<br>"
'응답. 엔드
'재산이 없음을 의미합니다. 교체해야합니다.
RANKCONTENT = SCRIPTHTML (RankContent, "Span", 2, Aspan (I))
또 다른
RANKCONTENT = SCRIPTHTML (RankContent, "Span", 1, Aspan (I))
끝 If
다음
'위에 제거 된 오른쪽의 스팬 태그를 교체하십시오.
RANKCONTENT = Replace (RankContent, "</span>", "")
끝 If
rankContent = "$ false $"인 경우입니다
RankContent = "데이터 없음"
끝 If
getalexArank = replace (RankContent, ",", ",")
엔드 기능
url = request.querystring ( "url")
%>
<양식 이름 = "AlexaForm"메소드 = get>
URL을 입력하십시오 : <input type = ""name = "url"value = "<%= url%>"size = 40> <입력 유형 = "value ="query ">
</form>
<%
url <> ""라면
응답. "귀하의 웹 사이트는 Alexa에서 다음과 같이 순위를 매 깁니다."
응답. 플러시
RANK = getalexArank (URL)
응답. wrant
끝 If
%>
위의 것은 ASP Alexa가 도둑 프로그램을 쿼리 할 수있는 방법에 관한 것입니다. 이 기사는 비교적 간단한 Alexa Thief 프로그램을 소개합니다. 이 기능을 좋아하는 친구는 원리를 배울 수 있습니다. 곧이 프로그램을 쓸 수 있다고 생각합니다.