최근에 너무 인기가있어 수집을 좋아하지는 않지만 컬렉션의 원칙을 연구하는 데 매우 관심이 있습니다. 나는 온라인으로 수집하는 일반적인 기능을 얻었고, 공부하고, 실제로 연습했습니다. 결과가 성공적이었습니다. 효율성 문제를 제외하고 수집 원리는 복잡하지 않습니다. 검색 창에 "획득"을 입력하여 원리를 볼 수 있습니다. 다음은 수집의 예입니다.
코드 사본은 다음과 같습니다.
<%@language = "vbscript"CodePage = "65001"%>
<%response.codepage = 65001%>
<%response.charset = "utf-8"%>
<%server.scriptTimeout = 99999999
응답 .expires = 0
응답 .expiresabsolute = now () -1
Response.addheader "Pragma", "No-Cache"
response.addheader "Cache-Control", "Private"
응답 .cachecontrol = "no-cache"
%>
<%
'대상 정보를 얻고 XML 구성 요소를 통해이를 구현하도록 함수를 선언하십시오.
functiongetUrl (url)
setretRieval = server.createObject ( "msxml2.xmlhttp")
retrieval
. "get", URL, False를 열었습니다
.보내다
if.status <> 200then '클라이언트가 반환 메시지를 수락하도록 문서가 구문 분석되었는지 여부를 결정합니다.
종료 기능
endif
'이진에서 문자열
geturl = stb (.ResponseBody)
끝
'얻은 정보를 확인하십시오. 정보 길이가 100 미만인 경우 차단이 실패했음을 의미합니다.
최종 기능 장애
'바이너리를 문자열로 돌리십시오. 그렇지 않으면 차량이 나타납니다!
functionstb (vin)
constadtypetext = 2
DimbyTesstream, StringReturn
setByTessTream = server.createObject ( "adodb.stream")
WithbyTesstream
.type = adtypetext
.열려 있는
.WriteTextVin
.Position = 0
.charset = "GB2312"
.Position = 2
StringReturn = .ReadText
.닫다
끝
setByTessTream = 아무것도
stb = StringReturn
최종 기능 장애
FunctionNewString (WSTR, strng)
NewsString = instr (lcase (wstr), lcase (strng))
ifnewstring <= 0thennewstring = len (wstr)
최종 기능 장애
'차단 된 형식을 선언하고 시작부터 시작하고 끝나십시오.
functiongetKey (HTML, 시작, 오버)
start = newstring (html, start)
Over = Newstring (HTML, Over)
getkey = mid (html, 시작, 오버 스타트)
최종 기능 장애
DimsOftId, URL, HTML, 제목
'바이두 컬렉션은 알고 있습니다
fori = 1to100
url = "http://zhidao.baidu.com/question/10000"& i & ".html"
html = geturl (url)
question = getkey (html, "<cq>", "</cq>")
답 = getkey (html, "<ca>", "</ca>")
response.write (질문 & "<br/>")