
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 아래의 파일을 원함).
힌트가 있나요?
답변1
의 반대로 시도하거나 --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.
답변2
이것은 잘못된 것입니다:
--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.