명령줄을 사용하여 파일 서버와 관련된 특정 URL에서 지정된 형식의 모든 파일을 다운로드하는 방법

명령줄을 사용하여 파일 서버와 관련된 특정 URL에서 지정된 형식의 모든 파일을 다운로드하는 방법

example.com/folder1과 같은 URL이 있다고 가정해 보겠습니다. Chrome 및 Firefox와 같은 브라우저를 사용하여 액세스할 때 URL은 우리에게 익숙한 웹사이트가 아니라 다운로드할 파일이 포함된 페이지입니다(HTTP의 파일 서버라고 말하고 싶습니다. 컴퓨터 네트워크에 대해서는 전혀 모릅니다). 이제 다양한 형식의 파일이 수천 개 있다고 상상해 보세요. 일부는 PNG, 일부는 JPG, 일부는 MP4, 일부는 TXT 등입니다.

거기에 있는 모든 PNG 이미지를 다운로드하고 싶다고 가정해 보겠습니다. 사용할 수도 있지만 wget example.com/folder1/name-of-image-1.png ; wget example.com/folder1/name-of-image-2.png ; [...] wget example.com/folder1/name-of-image-n.png이미지 이름이 패턴을 따르지 않기 때문에 프로세스가 길고 이러한 작업을 자동화하면 정말 재미있을 것입니다. 나는 이와 같은 명령을 찾고 있습니다 wget --download-all-from-format=png example.com/folder1. --download-all-from-format=png 옵션은 존재하지 않지만 아이디어를 보여드리기 위해 생각해냈습니다. 해결책은 wget, 컬 또는 기타 명령줄 프로그램일 수 있습니다.

인터넷에서 검색해보니 wget -nd -r -l 2 -accept-regex '.png' example.com/folder1및 명령이 몇 개 있지만 wget -nd -r -l 2 -A.png example.com/folder1작동하지 않습니다. 아래와 같이 이상한 파일이 다운로드되고 있습니다. 여기에 이미지 설명을 입력하세요.

내 생각엔 내가 본 두 명령이 웹 사이트 콘텐츠를 다운로드하는 데 유용할 수 있을 것 같지만, 내 경우 필요한 URL은 우리가 이해하는 웹 사이트가 아니라 인터넷의 파일 서버입니다(브라우저에서 했던 것처럼). , file:///home/user를 입력할 때 얻는 것과 유사한 목록이 있는데, 이것이 바로 서버가 FTP가 아닌 HTTP인 것 같습니다.

감사해요.

감사합니다,

[업데이트] 해결책을 찾았습니다. 내가 기대했던 것은 아니지만 작동합니다. 추가 옵션 없이 wget을 사용하여 example.com/folder1을 다운로드한 다음 다운로드한 파일을 필터링하여 모든 이미지 경로를 얻을 수 있습니다. 그런 다음 얻은 각 경로를 개별적으로 다운로드하도록 컴퓨터에 지시하는 쉘 스크립트를 만듭니다. 모든 이미지 경로 목록을 통해 for 루프를 사용할 수 있습니다.

관련 정보