2012-03-09 2 views
2

C#을 사용하고 있습니다. 전체 웹 페이지를 프로그래밍 방식으로 다운로드하고 싶습니다. ...... 페이지 소스 만이 아닙니다.
웹 페이지를 FireFox의 "페이지 저장"과 동일하게 다운로드하려고합니다. 이것을 프로그램 적으로하고 싶습니까?"COMPLETE"웹 페이지를 프로그래밍 방식으로 다운로드 하시겠습니까?

+0

동적 콘텐츠가없는 정적 페이지 또는 페이지에서만 작동한다는 점에 유의하십시오. – MMM

답변

10

페이지를 다운로드하고 구문 분석하여 모든 외부 리소스를 찾은 다음 각각을 차례대로 다운로드해야합니다 (가능하면 파싱하고 리소스를 다운로드 할 수 있음).

HTML을 구문 분석하려면 HTML Agility Pack을 사용하는 것이 좋습니다. 어떤 리소스 (이미지, CSS, 자바 스크립트 등)를 다운로드하고 구체적으로 페이지를 쿼리 할 것인지를 명심해야합니다.

일부 페이지는 base으로 정의되며 상대 URL과 절대 링크가 포함 된 페이지 URL을 고려해야합니다.

CSS를 이미지 참조와 같은 것으로 파싱 할 수도 있습니다.

끝내려면 리소스가 다운로드 된 위치를 가리키는 로컬 참조로 모든 참조를 변경해야합니다 (감사합니다 @Scott M).

+0

나는 이것을 스스로해야합니까, 아니면 이것을하기위한 도서관이 있습니까? –

+1

또한 폴더의 관련 리소스를 가리 키도록 HTML의 참조를 변경해야합니다. –

+1

@ahmadhori - 나는 당신을 위해이 모든 것을 할 도서관을 알고 있지 않습니다. 해피 해킹! – Oded

관련 문제