wget: 끊어진 아웃바운드 링크 식별

wget: 끊어진 아웃바운드 링크 식별

wget--spider끊어진 내부 링크를 직접 식별하는 옵션 :

wget --spider --recursive --level=0 mywebsite.com

깨진 아웃바운드 링크를 찾기 위해 확장을 시도했지만 -H(내가 아는 한) 외부 도메인에서 추가 재귀 수준을 지정할 수 없기 때문에 --level=0스파이더가 월드 와이드 웹 전체에서 풀려나게 할 수 밖에 없습니다.

제가 생각할 수 있는 한 가지 해결 방법은 웹사이트 sitemap.xml(사용 가능한 경우)를 사용하여 도메인에 대한 전체 URL 집합을 가져오고 이를 피드백하여 wget크롤링 깊이를 제한하는 것입니다.

wget -O - https://mywebsite.com/sitemap.xml \
| hred -xcr [email protected] \
| wget -i - -H --spider --recursive --level 1

이 설정에서는 별도의 도구를 사용합니다.hredXML에서 URL을 추출합니다.

깨진 외부 링크를 찾는 더 효율적인 방법이 있습니까 wget? 사이트맵을 사용하여 기본적으로 작동하도록 하거나 이상적으로는 XML의 존재에 의존하지 않도록 합니다.

답변1

직접 읽기에 관해서는 sitemap.xml이것이 새로운 기능인 것 같습니다wget2:

  • 로컬 Sitemap XML 파일에서 URL 검색 지원( --force-sitemap -i <filename>)

wget사이트맵 없이 웹사이트의 모든 URL에 대한 단순 목록을 생성하려면 웹사이트를 크롤링하고 grep과 같은 도구를 사용하여 wget출력에서 ​​URL을 추출할 수 있습니다.

wget --spider -r mywebsite.com 2>&1 \
| rg '^--.+-- (.+)$' --replace '$1' \
| sort -u

Wget은 작업에 가장 적합한 도구는 아니지만 작동합니다.

관련 정보