コマンドラインで動くリンク切れチェッカー
ちょっと前 Twitter で教えてもらったのでブログに書いてみる。
gem i rawler
— syui (@syui__) September 16, 2018
pip install linkchecker
とかどうでしょう。
wgetでも出来そうなんですけど、tyruさんの目的には合わないでしょうか?https://t.co/xjJAJsxKy9
— rat (@rattcv) September 16, 2018
最初 <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 便利。
linkchecker と crawler はあんまり調べてないけど、 linkchecker は色々高機能でサイトマップの生成なんかもできたりするっぽい。 crawler は "BFS webcrawler that implements Observable" とのことで recursive でも幅優先で見てくれるのが特徴かも。