어떻게 정적 문장 시스템 을 수집 합 니까

현재 사 이 트 는 기본적으로 정적 으로 생 성 되 었 습 니 다.기술 이 깊 지 않 은 도둑 들 에 게 파일 이름 을 훔 치 는 것 은 시간 과 랜 덤 수 를 더 해 이름 을 짓 는 글 시스템 입 니 다.조금 어렵 습 니 다.현재 대부분의 정적 시스템 은 이런 방식 으로 명명 되 었 습 니 다.이것 은 asp?id=1 to asp?id=100 처럼 좋 지 않 습 니 다.이 이름 은 불규칙 합 니 다.그러면...이런 문장 시스템 은 어떻게 채 택 됩 니까?다음은 자신의 역www.asp315.com이라는 예 로 정적 문장 시스템 채집 에 관 한 강 좌 를 쓰 겠 습 니 다!  우선,우리 가www.asp315.com를 열 면 튜 토리 얼 이 매우 많다 는 것 을 알 게 될 것 입 니 다.우리 가 마음대로 하 나 를 시 켜 서 들 어가 자.JSP 튜 토리 얼 을 시 키 자.안에 하위 클래스 도 나 뉘 었 습 니 다.이것 은 우리 가 이 큰 종 류 를 따 든 지 간 에http://www.asp315.com/artical/2/1.htm모든 글 의 이름 을 보 세 요.대체적으로 불규칙 하고 직접 훔 치 는 것 은 불가능 합 니 다.돌려 서 훔 칠 수 밖 에 없습니다.이 분류 페이지 아래 에 다음 페이지 가 있 는 것 을 보 았 습 니 다.이 페이지 들 의 규칙 을 보면 1.htm,2.htm 로 이름 을 지 었 습 니 다.그러면 마지막 페이지,141.htm 를 많이 누 르 기 쉽 습 니 다.이 페이지 들 은 모두 똑 같 습 니 다.전체 역 의 분류 페이지 가 똑 같 습 니 다.이 페이지 만 해결 하면 문장 페이지 의 파일 이름 은 파일 이름 만 적 으 면 훔 치기 가 쉬 워 집 니 다.여기 서 나 는 이 서류 들 의 이름 을 훔 치 는 방법 만 이야기 하고 구체 적 인 채집 페이지 는 이야기 하지 않 는 다.왜냐하면 그것 은 너무 간단 하기 때문에 내 가 말 할 필요 가 없다.모두 가 할 수 있다!  첫 페이지,원 격 읽 기 함 수 는 빠 질 수 없습니다.다음은 Function getHTTPPage(Path)t=GetBody(Path)getHTTPPage=BytesToBstr(t,"gb 2312")End function 을 붙 입 니 다.
Function GetBody(url) on error resume next Set Retrieval = CreateObject("Microsoft.XMLHTTP") With Retrieval .Open "get", url, False, "", "" .Send GetBody = .ResponseBody End With Set Retrieval = Nothing End FunctionFunction BytesToBstr(body,Cset)dim obstream set obstream=Server.CreateObject("adodb.stream")obstream.Type=1 obstream.Mode=3 obstream.Open obstream.Write body obstream.Position=0 obstream.Type=2 obstream.Charset=Cset Bytes ToBstr=obstream.ReadText obstream.Close set obstream=nothing End Function 다음 에 가장 간단 한 프로그램 을 쓰 겠 습 니 다.한 걸음 한 걸음 가 르 치고,(허,쓸데없는 소리 많이 했 어*.*)위의 코드 를 get.asp 라 고 명명 하 세 요.한 페이지 코드 를 getfilename.asp 라 고 부 르 세 요.코드 는 다음 과 같 습 니 다:<%response.write gethttppage("http://www.asp315.com/artical/2/1.htm")%>허,getfilename.asp 가 완성 되 었 습 니 다.물론 이것 은 가장 간단 한 그대로 옮 기 는 것 입 니 다.우 리 는 한 걸음 한 걸음 고 쳐 서 코드 를 보완 해 야 합 니 다.그 페이지 와 기본 적 인 페이지 를 볼 수 있 습 니 다.물론 일부 그림 은 표시 되 지 않 습 니 다!그리고 우 리 는 이 페이지 를 분석 합 니 다.첫 페이지 에서 오른쪽 단 추 를 누 르 고 소스 코드 를 보고 이 줄 을 찾 습 니 다.페이지 수 흐,이 코드 들 을 찾 았 습 니 다.이것 은 많 고 적 습 니 다.괜 찮 습 니 다.우리 코드 는 한 걸음 한 걸음 완벽 해 야 합 니 다.그리고 우 리 는 getfilename.asp 를<%dim dj,l1,l2dj=gethttppage(""http://www.asp315.com/artical/2/1.htm")l1=instr(dj,"인기")l2=instr(l1,dj,"페이지 수")dj1=mid(dj 1,dj,l1,l2-l1)response.write dj 1%>이 파일 을 다시 실행 해 보 세 요.물건 이 많이 줄 어 든 것 을 발견 할 수 있 습 니 다.흐,훨씬 간단 합 니 다.그럼 규칙 을 찾 아 보 겠 습 니 다.똑 같이 소스 코드 를 살 펴 본 다음 에 모든 것 이태그 로 구성 되 어 있 는 것 을 발견 할 수 있 습 니 다.이것 은 훨씬 쉬 워 집 니 다.djmore=split(dj 1,"tr")기억 하 세 요.자세히 보면가 몇 개 더 있 는 것 을 발견 할 수 있 습 니 다.그러면 첫 번 째 와 마지막 두 개 를 제거 하고 이렇게 되 었 습 니 다.response.write dj 1 을 djmore=split(dj 1,"")for i=1 to ubound(djmore)-2response.write djmore(i)next 이렇게 하면 모든 줄 을 나 누 어 다음 과 같은 것 으로 나 눌 수 있 습 니 다.   CSS 문법 매 뉴 얼(1)글꼴 속성    2005-7-21      이제 이 단락 만 분석 하면 훨씬 간단 합 니 다.djmore(i)라 는 배열 의 하 나 를 대상 으로 코드 를 쓰 겠 습 니 다.l3=intr(djmore(i),""여 기 는 편 의 를 위해 이렇게 쓴 것 입 니 다.앞의 response.write djmore(i)대신 에을 추가 하 는 것 은 줄 을 바 꾸 기 위해 서 입 니 다.예 쁜 것 을 보 았 습 니 다.그리고 URL 에 뭔 가 더 많은 것 을 보 았 습 니 다.이것 은 우리 가 처리 해 야 합 니 다.url=mid(djmore(i),l3,l4-l3)를 url=mid(djmore(i),l3+len("a href=")+1,l4-l3-len("a href=")-1 로 바 꾸 는 것 입 니 다.문제 없습니다.다시 실행 할 때 주소 만 남 았 습 니 다.허,그 렇 죠?이것 은 각 페이지 의 것 입 니 다.모든 것 을 원 합 니 다.dj=gethttppage("http://www.asp315.com/artical/2/1.htm"를 for ii=1 to 141 geturl="

좋은 웹페이지 즐겨찾기