wget으로 다운로드 할 때“다른”도메인을 무시합니까?


13

www.website.com/XYZ에서 링크를 크롤링하고 www.website.com/ABC 아래에있는 링크 만 다운로드하고 싶습니다.

다음 wget 명령을 사용하여 원하는 파일을 가져옵니다.

wget  -I ABC -r -e robots=off --wait 0.25  http://www.website.com/XYZ

wget 1.13.4를 사용할 때 완벽하게 작동합니다. 그러나 문제는 wget 1.11이있는 서버 에서이 명령을 사용해야하며 동일한 명령을 사용하면 다음과 같은 추가 도메인을 다운로드하게됩니다.

www.website.de 
www.website.it 
...

이 문제를 어떻게 피할 수 있습니까? 나는 사용하려고

--exclude domains=www.website.de,www.website.it

그러나 도메인을 계속 다운로드했습니다.

또한 --no-parent원하는 파일이 상위 레벨이기 때문에 사용할 수 없습니다 (website.com/XYZ에서 링크를 크롤링하여 website.com/ABC에 파일을 원합니다).

힌트가 있습니까?


"가짜"URL을 사용하지 말고 문제와 관련이없는 사이트의 URL을 사용하지 마십시오. 귀하가 나열한 도메인은 "하위 도메인"이 아니며, 동일한 회사에 속하는 다른 도메인 일뿐입니다.
guntbert

여기에 문제가 있습니다. wget기본적으로 호스트를 교차하지 않아야 하며 재귀 wget을 수행 할 때 호스트를 교차 하려면 -H/ --span-hosts옵션 이 필요합니다 . "www.website.com"는 "www.website.de"와 완전히 다른 호스트입니다.
jw013

@guntbert 죄송합니다. 실제 URL을 제공하는 것이 문제가 될 것이라고 생각했습니다. 물론 크롤링하려는 웹 사이트는 website.com이 아닙니다. 그러나 example.com을 크롤링하면 기본 디렉토리 (example.com과 동일한 수준)에 example.it, example.de도 표시됩니다.
user2779485

@ jw013 위에서 말한 것처럼 www.example.com/x를 제공하면 www.example.de, www.example.it도 크롤링합니다. 그러나 이것은 1.13이 아닌 wget 1.11에서만 발생합니다. 그래서 나는 매우 혼란 스럽습니다.
user2779485

이것은 버그처럼 보입니다 : wget 1.11은 다르게 동작해서는 안되며 -H항상 원래 호스트 외부에서 재귀해야했습니다. 합니까의 -D www.website.com도움?
Gilles 'SO- 악마 그만해

답변:


5

이것은 틀렸다 :

--exclude domains=www.website.de,www.website.it

올바른 방법은 다음과 같습니다.

--exclude-domains www.website.de,www.website.it

wget 매뉴얼 페이지에서 :

--exclude-domains domain-list
      Specify the domains that are not to be followed.

목록이 콤마로 분리되어 있지 않아야합니까?
rubo77

@ rubo77 당신이 맞아요, 나는 그것을 바꿨습니다.
Daniel Werner

18

의 반대편으로 시도 --max-redirect 0하거나 사용할 수 있습니다 .--domains example.com--exclude-domains example.com

보다:

  -D,  --domains=LIST              comma-separated list of accepted domains.
       --exclude-domains=LIST      comma-separated list of rejected domains.
       --follow-tags=LIST          comma-separated list of followed HTML tags.
       --ignore-tags=LIST          comma-separated list of ignored HTML tags.
  -np, --no-parent                 don't ascend to the parent directory.
  --max-redirect                   maximum redirections allowed per page.

5
블랙리스트 대신 도메인을 화이트리스트에
올리려
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.