공개.js 이미지 리소스를 다운로드할 수 있나요?

공개.js 이미지 리소스를 다운로드할 수 있나요?

wget다음 명령을 사용할 때 ,

$ wget \
     --recursive \
     --no-clobber \
     --page-requisites \
     --html-extension \
     --convert-links \
     --restrict-file-names=windows \
     --domains grantmlong.com \
     --no-parent \
         grantmlong.com/teaching/index.html

교수님의 콘텐츠를 모두 다운로드하려고 했는데요코스 페이지. 어떤 이유에서인지 나머지 사이트의 이미지 콘텐츠는 대부분 올바르게 다운로드되고 있지만,Reveal.js강의 슬라이드가 다운로드되지 않습니다.

예를 들어 내 로컬 컴퓨터에서 로 이동하여 grantmlong.com/teaching/lectures/열면 lecture1.html세 번째 슬라이드가 표시됩니다.여기에 이미지 설명을 입력하세요.

대신에:여기에 이미지 설명을 입력하세요.

웹사이트에서 에 있는 이미지를 찾았습니다 https://grantmlong.com/teaching/lectures/img/hbr.png. img다운로드한 로컬 폴더 로 이동 wget하면

cd grantmlong.com/teaching/lectures/img
ls -1
l10_f0.png
l10_f1.png
l10_f2.png
l10_f3.png
l10_f4.png
l10_f5b.png
l10_f5.png
l10_f6.png
l10_f7.png
l10_p1.png
l10_p2.png
l11_p1.png
l11_p2.png
l11_p3.png
l11_p4.png
l11_p5.png
l11_p6.png
l12_p1.png
l12_p2.png
l5_e1.png
l5_e2.png
l5_e3.png
l5_e4.png
l5_glm.png
l5_logreg.png
l5_p10.png
l5_p11.png
l5_p1a.png
l5_p1b.png
l5_p2.png
l5_p3.png
l5_p4.png
l5_p5.png
l5_p6.png
l5_p7.png
l5_p8.png
l5_p9.png
l5_reg_output_1.png
l5_reg_output_2.png
l5_reg_output_3.png
l5_reg_output_4.png
l5_reg_output.png
l6_accuracy.png
l6_confusion.png
l6_p1.png
l6_precision.png
l6_recall.png
l9_p1.png
l9_p2.png
l9_p3.png
l9_p4.png
l9_t1.png
l9_t2.png
l9_t3.png
l9_t4.png
l9_t5.png

hbr.png찾을 수 있는 곳이 없으며 이는 Reveal.js 슬라이드쇼의 이미지가 "페이지 필수 사항"으로 간주되지 않으며 포함되지 않음을 나타냅니다 wget.

이러한 이미지가 다운로드되었는지 어떻게 확인하나요? 또한 discover.js 슬라이드쇼의 일부 이미지는 제3자 웹사이트에서 가져온 것입니다.순간. --domains grantmlong.comReveal.js 슬라이드쇼가 아닌 모든 페이지에 대해 이 옵션을 true로 유지하면서 이 외부 콘텐츠가 다운로드되도록 하려면 어떻게 해야 합니까 ?

답변1

아니요, 그럴 수 없습니다.

파일 hbr.png는 사용자 정의 속성에 의해 참조됩니다.데이터 소스img 태그에

설명대로여기, wget은 사용자 정의 속성을 존중할 방법이 없습니다.

답변2

좀 더 검색한 끝에 Reveal.js 슬라이드쇼 아카이브 다운로드 문제에 대한 (해킹된) 해결책을 찾았습니다. codimd github에 사용자 "zeigerpuppy"가 게시되었습니다.다음 응답:

codimd를 사용하여 만든 슬라이드쇼 프레젠테이션의 아카이브를 저장하는 방법을 찾았습니다. wget을 사용하여 프레젠테이션에서 이미지를 가져오는 데 문제가 있습니다(이미지에 대한 링크가 마크다운이기 때문인 것 같습니다).

따라서 3단계 프로세스이지만 빠르고 잘 작동합니다. 슬라이드쇼를 보여주고 싶다고 가정해 보겠습니다.https://codimd.server.net/p/S1PIjfhM8#/

  1. wget파일 및 필수 파일(.css 및 .js)을 가져오는 데 사용됩니다 .

    • 귀하의 프레젠테이션은 다음과 같이 끝날 것입니다.p/S1PIjfhM8.html

`

wget   --recursive   --no-clobber   --page-requisites   \
--html-extension   --convert-links   \
--domains codimd.server.net \
https://codimd.server.net/p/S1PIjfhM8#/
  1. Firefox 플러그인을 사용하세요:이미지 선택

    • 저장 모드 사용:Image_Picka/uploads/${name}${ext}
    • 페이지의 모든 이미지(.svg 포함)를 가져옵니다.
    • 이미지를 uploads이름이 지정된 폴더 로 이동하세요.
  2. sed다음을 사용하여 html 파일의 링크를 상대 링크로 변경 해야 합니다.

`

cd p
sed -i .bak 's|/uploads/upload_|../uploads/upload_|g' S1PIjfhM8.html

그러면 오프라인으로 실행할 수 있는 슬라이드쇼의 전체 복사본을 받게 됩니다. 보관 목적에도 적합합니다.

codimd 프로그램의 저장 옵션 아래에 이와 같은 기능이 내장되어 있다면 좋을 것입니다 save slides.

비슷한 접근 방식을 취했지만 마지막 단계 실행을 사용하지는 않았습니다 sed. 대신 Image Picka를 사용하여 누락된 모든 이미지를 다운로드 하고 로컬 아카이브 의 디렉터리 wget에 넣습니다 . 이렇게 하면 대부분의 이미지 내용이 슬라이드쇼에 표시됩니다.grantmlong.com/teaching/lectures/img/wget

타사 사이트의 gif는 로드할 수 없지만 대부분 미적으로 보기 좋습니다(.gif 형식의 중요한 방정식이나 그래프는 없음). 따라서 가장 중요한 내용을 오프라인에서 볼 수 있어서 기쁩니다.

관련 정보