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.