이 문서에서는 주로 Microsoft.XMLHTTP를 사용하여 웹 콘텐츠(깨진 문자 없음)를 크롤링하고 필요한 콘텐츠를 필터링하는 Asp를 소개합니다.
Asp는 Microsoft.XMLHTTP를 사용하여 웹 페이지 콘텐츠(잘못된 코드 없음)를 크롤링하고 필요한 콘텐츠를 필터링합니다.
샘플 소스 코드:
다음과 같이 코드 코드를 복사합니다.
<%
희미한 xmlUrl,http,strHTML,strBody
xmlUrl = Request.QueryString("u")
REM은 XML 소스를 비동기적으로 읽습니다.
http = server.CreateObject("Microsoft.XMLHTTP") 설정
http.Open "POST",xmlUrl,false
http.setrequestheader "사용자 에이전트", "Mozilla/4.0"
http.setrequestheader "연결", "연결 유지"
http.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
http.보내기()
strHTML = BytesToBstr(http.ResponseBody)
http = 아무것도 설정하지 않음
REM은 주요 콘텐츠를 캡처합니다.
strBody = GetBody(strHTML,"<divDiv_newsContentc""cnt"">","</div>",0,0)
strBody =Replace(strBody,"(이 기사는 ",""에 처음 게시되었습니다)
strBody =Replace(strBody,"Wealth Power Network</a>, 재인쇄하려면 출처를 표시해 주세요.)","")
strBody =Replace(strBody,"이 기사는 에 처음 게시되었습니다. 다시 인쇄할 때 출처를 표시해 주십시오.)","")
strBody =Replace(strBody,"부동력 네트워크</a>:","")
strBody =Replace(strBody,"이 문서는 다음에서 처음 게시되었습니다:","")
응답.쓰기 RegRemoveHref(strBody)
REM은 해당 URL 응답의 HTML을 가져옵니다.
함수 BytesToBstr(본문)
희미한 객체 스트림
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write 본문
objstream.위치 = 0
objstream.Type = 2
objstream.Charset = "UTF-8"
'원래 기본 UTF-8 인코딩을 GB2312 인코딩으로 변환하고, 그렇지 않으면 직접 사용하세요.
'XMLHTTP는 중국어로 웹페이지를 호출할 때 잘못된 코드를 받게 됩니다.
BytesToBstr = objstream.ReadText
objstream.Close
objstream = 아무것도 설정하지 않음
기능 종료
REM은 정규식을 사용하여 표시된 콘텐츠를 캡처합니다.
함수 GetBody(ConStr,StartStr,OverStr,IncluL,IncluR)
ConStr="$False$" 또는 ConStr="" 또는 IsNull(ConStr)=True Or StartStr="" 또는 IsNull(StartStr)=True Or OverStr="" 또는 IsNull(OverStr)=True인 경우
GetBody="$False$"
종료 기능
종료 조건
DimConStrTemp
희미한 시작, 이상
ConStrTemp=Lcase(ConStr)
StartStr=Lcase(StartStr)
OverStr=Lcase(OverStr)
시작 = InStrB(1, ConStrTemp, StartStr, vbBinaryCompare)
시작<=0이면
GetBody="$False$"
종료 기능
또 다른
IncluL=False인 경우
시작=시작+LenB(StartStr)
종료 조건
종료 조건
Over=InStrB(시작,ConStrTemp,OverStr,vbBinaryCompare)
Over<=0 또는 Over<=시작하면
GetBody="$False$"
종료 기능
또 다른
InclR=True이면
오버=오버+LenB(오버Str)
종료 조건
종료 조건
GetBody=MidB(ConStr,Start,Over-Start)
기능 종료
REM은 하이퍼링크를 필터링합니다.
함수 RegRemoveHref(HTMLstr)
ra = 새 RegExp 설정
ra.IgnoreCase = 참
ra.Global = 참
ra.Pattern = "<a[^>]+>(.+?)</a>"
RegRemoveHref = 바꾸기(ra.replace(HTMLstr,"$1"),"href=""http://www.927953.com""","")
END 기능
%>
렌더링은 다음과 같습니다.