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.