게시된 페이지에 없는 파일을 다운로드하세요.

게시된 페이지에 없는 파일을 다운로드하세요.

이 웹페이지에서 모든 파일을 다운로드하려고 합니다.https://www.lezioni4all.com/ase/appunti 그래서 "wget" 명령을 사용했는데 작동하지 않아서 조사를 해보니 위 웹페이지에서(시각화하려는 리소스를 클릭하면) 새 웹페이지에 문서 페이지가 열리는 것을 발견했습니다. 경로는 다음과 유사합니다: http//something/resource/%10hi%10Ineedof%10thisresource

(위의 링크를 열고 페이지에서 "conflitti"와 같은 요소를 선택하면 해당 항목에 일종의 "미리보기"가 있는 것을 볼 수 있으며, 맨 아래 행을 클릭하면 리소스가 다음 형식으로 열립니다. 제목이 홈 페이지에 표시되는 것과 동일하지만 이름에 %10, %20...과 같이 일부 백분율이 포함되어 있습니다.

다운로드할 수 없는 파일을 게시된 페이지의 URL만 입력하여 다운로드할 수 있는 방법을 알고 계십니까?

나는 다음 명령을 시도했습니다.

wget --no-clobber --convert-links --random-wait -r -p -E -e robots=off --no-parent -P ~/Desktop/ASE_lezioni4all https://www.lezioni4all.com/ase/appunti

wget --page-requisites -p --convert-links  -P ~/Desktop/ASE_lezioni4all https://www.lezioni4all.com/ase/appunti

또, 인터넷에서는 하얀 창을 여는 빈 파일만 받습니다.

답변1

PDF URL은 JavaScript onclick속성에 포함되어 있습니다. 당신은 할 수 있습니다 grep:

wget -qO- https://www.lezioni4all.com/ase/appunti | 
  grep -o "https://www\.lezioni4all\.com/files/[^']*\.pdf"

no-clobber 옵션 -nc(각 문서가 두 번 연결되므로) 을 사용하여 다운로드할 수 있으며 다음을 수행합니다 -i.

wget -nc -P ~/Desktop/ASE_lezioni4all -i <(
  wget -qO- https://www.lezioni4all.com/ase/appunti |
  grep -o "https://www\.lezioni4all\.com/files/[^']*\.pdf")

관련 정보