6.2.3 RawUrl 구현

이번에는 수집 결과 형식인 RawUrl 클래스를 구현합시다.

수집 대상 개체를 가져오기 속성을 제공합니다. 설정하기는 내부에서만 사용할 수 있게 제공합니다.

 

수집 대상 개체를 수집한 결과 페이지 목록을 가져오기 속성을 제공합니다. 요청한 웹 페이지가 프레임 형태일 때는 수집 결과 페이지가 여러 개가 발생할 수 있어서 목록을 멤버로 설정하는 것입니다. 여기에서도 설정하기 속성은 클래스 내부에서만 접근하게 제공합니다.

 

생성자는 수집 대상 개체를 입력 인자로 받는 것을 앞에서 추가하였습니다.

 

생성자 메서드에서는 수집 대상 개체 속성과 수집 결과 목록 컬렉션 속성을 설정합니다.

 

 

웹 페이지 주소로 이미 수집 결과 목록에 있는지 확인하는 메서드도 앞에서 추가하였습니다.

 

수집 결과 목록의 페이지 주소가 입력 인자로 받은 주소와 같은 것이 있는지 확인하여 존재하면 참을 반환하고 없으면 거짓을 반환합니다.

 

수집한 결과 페이지를 추가하는 메서드도 앞에서 추가하였습니다.

 

먼저 수집 결과 페이지가 이미 있는지 확인하여 있다면 메서드를 종료합니다.

 

수집 결과 페이지 개체를 생성하여 페이지 주소와 요청 주소, 상대적 깊이를 설정합니다.

 

페이지 제목과 페이지 내부 컨텐츠는 HtmlDocument에서 얻어와 설정합니다. 수집한 일시는 현재 일시로 설정합니다.

 

수집한 결과 페이지의 링크 목록을 컬렉션에 추가합니다. 만약 링크 목록의 내용이 파일일 때는 필터링하기로 할게요.

 

페이지 주소가 파일을 의미하는지 확인하는 메서드를 만듭시다.

 

여기에서는 자주 사용하는 파일의 확장자를 통해 입력 인자로 들어온 주소에 파일의 확장자가 있는지 확인한 결과를 반환하게 할게요. 여기에서는 일부 파일의 확장자만 확인하므로 보다 높은 수준으로 필터링하기 위해서는 코드의 수정이 필요합니다.

 

▷ RawUrl.cs