Wget을 사용하여 사이트를 재귀 적으로 크롤링하고 이미지 다운로드


13

wget에게 웹 사이트를 재귀 적으로 크롤링하고 특정 유형의 이미지 만 다운로드하도록 지시하는 방법은 무엇입니까?

이것을 사용하여 사이트를 크롤링하고 Jpeg 이미지 만 다운로드하려고했습니다.

wget --no-parent --wait=10 --limit-rate=100K --recursive --accept=jpg,jpeg --no-directories http://somedomain/images/page1.html

그러나 page1.html에 이미지에 대한 직접 링크가있는 서브 페이지에 대한 수백 개의 링크가 포함되어 있어도 wget은 "거부되어야하므로 subpage13.html 제거"와 같은 내용을보고하며 직접 링크 된 링크가 없으므로 이미지를 다운로드하지 않습니다. 시작 페이지에서.

필자는 --accept를 사용하여 크롤링 및 콘텐츠를 다운로드하도록 필터를 지정하는 데 사용하는 반면 콘텐츠 다운로드를 지시하는 데만 사용하기를 원한다고 가정합니다. wget이 모든 링크를 크롤링하지만 * .jpeg와 같은 특정 확장자를 가진 파일 만 다운로드하려면 어떻게해야합니까?

편집 : 또한 일부 페이지는 동적이며 CGI 스크립트를 통해 생성됩니다 (예 : img.cgi? fo9s0f989wefw90e). 수락 목록에 cgi를 추가하더라도 (예 : --accept = jpg, jpeg, html, cgi) 여전히 거부됩니다. 이 주위에 방법이 있습니까?

답변:


5

왜 사용하지 wget -A jpg,jpeg -r http://example.com않습니까?


이 질문은 일부 이미지가 /url/path.cgi?query 형식이므로 제안은 가져 오지 않습니다.
찰스 스튜어트

1

subpage13.html (다운로드 할 수없는 jpg 파일)의 내용을 어떻게 알 수 있을까요? html을 허용하고 원하는 것을 얻은 다음 원하지 않는 것을 제거하는 것이 좋습니다.


왜 귀하의 CGI가 거부되는지에 대해 잘 모르겠습니다 ... wget에 의해 오류 출력이 있습니까? 아마도 wget verbose ( -v)를 만들고 참조하십시오. 별도의 질문으로하는 것이 가장 좋습니다.

즉, 대역폭과 다운로드 로트에 신경 쓰지 않으면 나중에 원하지 않는 것을 제거해도 문제가되지 않습니다.


체크 아웃 --html-extension

매뉴얼 페이지에서 :

-이자형

--html-extension

application / xhtml + xml 또는 text / html 유형의 파일이 다운로드되고 URL이 정규 표현식. [Hh] [Tt] [Mm] [Ll]?로 끝나지 않는 경우이 옵션을 사용하면 접미사 .html이됩니다. 로컬 파일 이름에 추가되었습니다. 예를 들어, .asp 페이지를 사용하는 원격 사이트를 미러링하고 있지만 미러링 된 페이지를 기본 Apache 서버에서 볼 수있게하려는 경우에 유용합니다. 이를위한 또 다른 용도는 CGI 생성 자료를 다운로드 할 때입니다. http://site.com/article.cgi?25 와 같은 URL 은 article.cgi? 25.html로 저장됩니다.

Wget에서 로컬 X.html 파일이 원격 URL X에 해당한다는 것을 알 수 없기 때문에이 방법으로 변경된 파일 이름은 사이트를 다시 미러링 할 때마다 다시 다운로드됩니다. text / html 또는 application / xhtml + xml이 다시 다운로드를 방지하려면 파일의 원래 버전이 X.orig로 저장되도록 -k 및 -K를 사용해야합니다.


--restrict-file-names=unix cgi URL로 인해 유용 할 수도 있습니다 ...


wget 옵션 연결을 중지해야합니다 .. 지적 --no-parent하려고했지만 거기서 멈출 것입니다.
Pricey

0

프로그래밍없이 MetaProducts Offline Explorer를 사용할 수도 있습니다


-1

--page-requisites옵션을 추가하십시오


연결된 모든 미디어를 다운로드합니다. wget을 사용하여 이미지를 다운로드하는 유일한 방법은 페이지의 모든 컨텐츠를 다운로드하는 것입니다!
Cerin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.