C#을 사용하고 있습니다. 전체 웹 페이지를 프로그래밍 방식으로 다운로드하고 싶습니다. ...... 페이지 소스 만이 아닙니다.
웹 페이지를 FireFox의 "페이지 저장"과 동일하게 다운로드하려고합니다. 이것을 프로그램 적으로하고 싶습니까?"COMPLETE"웹 페이지를 프로그래밍 방식으로 다운로드 하시겠습니까?
답변
페이지를 다운로드하고 구문 분석하여 모든 외부 리소스를 찾은 다음 각각을 차례대로 다운로드해야합니다 (가능하면 파싱하고 리소스를 다운로드 할 수 있음).
HTML을 구문 분석하려면 HTML Agility Pack을 사용하는 것이 좋습니다. 어떤 리소스 (이미지, CSS, 자바 스크립트 등)를 다운로드하고 구체적으로 페이지를 쿼리 할 것인지를 명심해야합니다.
일부 페이지는 base
으로 정의되며 상대 URL과 절대 링크가 포함 된 페이지 URL을 고려해야합니다.
CSS를 이미지 참조와 같은 것으로 파싱 할 수도 있습니다.
끝내려면 리소스가 다운로드 된 위치를 가리키는 로컬 참조로 모든 참조를 변경해야합니다 (감사합니다 @Scott M).
나는 이것을 스스로해야합니까, 아니면 이것을하기위한 도서관이 있습니까? –
또한 폴더의 관련 리소스를 가리 키도록 HTML의 참조를 변경해야합니다. –
@ahmadhori - 나는 당신을 위해이 모든 것을 할 도서관을 알고 있지 않습니다. 해피 해킹! – Oded
- 1. JRE를 프로그래밍 방식으로 다운로드 하시겠습니까?
- 2. 사이트에서 Embedded SWF를 프로그래밍 방식으로 다운로드 하시겠습니까?
- 3. 웹 페이지를 프로그래밍 방식으로 리디렉션
- 4. 프로그래밍 방식으로 웹 페이지를 클릭하십시오.
- 5. 프로그래밍 방식으로 정렬 하시겠습니까?
- 6. 프로그래밍 방식으로 사용자에 로그인 하시겠습니까?
- 7. 여러 페이지를 동시에 다운로드 하시겠습니까?
- 8. 웹 서비스를 사용하지 않고 Sharepoint에서 파일을 프로그래밍 방식으로 다운로드 하시겠습니까?
- 9. Windows XP에서 프로그래밍 방식으로 기본 코드 페이지를 변경 하시겠습니까? (Delphi에서)
- 10. 사이트/기능 정의에 페이지를 프로그래밍 방식으로 다시 설정 하시겠습니까?
- 11. Bitlocker를 프로그래밍 방식으로 중단 하시겠습니까?
- 12. Outlook을 프로그래밍 방식으로 관리 하시겠습니까?
- 13. 그라디언트를 프로그래밍 방식으로 생성 하시겠습니까?
- 14. 면도기보기를 프로그래밍 방식으로 제어 하시겠습니까?
- 15. 문자열을 프로그래밍 방식으로 지역화 하시겠습니까?
- 16. 프로그래밍 방식으로 포커스를 제거 하시겠습니까?
- 17. Android 마켓에서 프로그래밍 방식으로 정확한 다운로드 수
- 18. Android : 브라우저를 사용하여 프로그래밍 방식으로 파일 다운로드
- 19. 프로그래밍 방식으로 파일 다운로드 상태 확인
- 20. 웹 서버에서 파일을 프로그래밍 방식으로 다운로드
- 21. 브라우저를 통해 프로그래밍 방식으로 DPI를 결정 하시겠습니까?
- 22. Laravel 특정 페이지를 프로그래밍 방식으로 얻으십시오
- 23. 프로그래밍 방식으로 DotNetNuke 페이지를 만드는 방법은 무엇입니까?
- 24. 프로그래밍 방식으로 Magento의 현재 홈 CMS/페이지를
- 25. ListView에서 첫 페이지를 프로그래밍 방식으로 표시하는 방법
- 26. API를 통해 Facebook 페이지를 프로그래밍 방식으로 '좋아요'합니다.
- 27. 프로그래밍 방식으로 양식을 채우고 웹 페이지를 'POST'하시겠습니까?
- 28. 프로그래밍 방식으로 페이지를 아래로 스크롤하려면 어떻게합니까?
- 29. HTML 양식을 프로그래밍 방식으로 POST 하시겠습니까?
- 30. iOS - 다운로드 페이지를 앱 스토어에로드 하시겠습니까?
동적 콘텐츠가없는 정적 페이지 또는 페이지에서만 작동한다는 점에 유의하십시오. – MMM