Humanity

Edit the world by your favorite way

コマンドラインで動くリンク切れチェッカー

ちょっと前 Twitter で教えてもらったのでブログに書いてみる。

qiita.com

最初 <a> タグを見つけて再帰的に調べてくれるやつが欲しかったので見た感じ linkchecker が最適かと思ったけど、 インストールにちょっとだけ躓いてしまってその間に wget でもできると教えてもらって試したらこれで十分だった。

こんな感じの結果が出る。

wget --spider --recursive --level=inf --no-verbose --execute robots=off localhost:8000

Found 3 broken links.

http://localhost:8000/aaa
http://localhost:8000/bbb.html
http://localhost:8000/js/foo.js

シングルページの場合は puppeteer とか使った方が良いんだろうけど、今回はそういうわけではなかったのでこれで良かった。 wget 便利。

linkcheckercrawler はあんまり調べてないけど、 linkchecker は色々高機能でサイトマップの生成なんかもできたりするっぽい。 crawler は "BFS webcrawler that implements Observable" とのことで recursive でも幅優先で見てくれるのが特徴かも。