Milkのメモ帳

日々の思いつきを忘れないようにのメモ用です。

Milkのメモ帳

【Mac/Win対応】記事の中から一括でURLリンク切れを検索するツール【フリーソフト】


f:id:maxminkun:20171012223800p:plain

こんにちは。Milkです。
今回は、自作ソフトを提供したいと思います。

たくさん記事を書くと、いつのまにかURLのリンクが切れてしまっていた・・・なんてことがありますよね。

でも、全部見返すのは大変。

特に、「はてなブログ」の方は「https対応」もあって、内部でのリンク切れが発生する恐れがあります。

私も、記事を一つずつチェックするのは流石に人力では無理・・・と思いまして。

ツールを作りました!

なので、皆さんにも使っていただけたらなぁ・・・と、日頃のお礼にと思いまして、フリーソフトとして提供することに致しました。

バグがあったらごめんなさい!(´;ω;`)
(ツールの特性上、ブログ自体に影響は与えませんのでご安心下さい。)


「URLSelect」

以下のフォルダを開放しますので、DLをして下さい。

フォルダごと好きな場所にコピーをして下さいね。

1drv.ms

簡単な使い方の説明

使い方を軽く説明します。

URL検索の為に、「Movable Type」フォーマット形式のファイルがあれば、誰でも利用できます。

因みに、「はてなブログ」の方は記事のバックアップを取得すると、「Movable Type」に対応したテキストファイルが出力されますので、それを利用して下さい。

バックアップの取得の仕方が分からない!という方は、こちらの記事をどうぞ。

www.milkmemo.com

  1. 「URLSelect.exe」を起動する(Win/Macで違いあり)
  2. バックアップのテキストファイルのパス(保存場所)を入力する
  3. 後は自動でリンク切れを検索
  4. 「output」フォルダに結果が出力される

と言う流れになります。

さて、それではWindows版とMac版では、少しだけ起動方法と前準備が異なりますので、個別にご説明します。

Mac版

Mac版を利用するには、前もって幾つかのライブラリをインストールする必要があります。

前準備

お手数ですが、以下の2つをインストールして下さい。

mono

Download | Mono

.Net Core

www.microsoft.com

恐らくは、「mono」だけで大丈夫だと思います。

仮に「mono」をインストールして、動作しなかったら「.Net Core」を入れてみて下さい。

操作方法

先ずは「ターミナル」を開いて下さい。

そして、「cd」と打ち込んで下さい。

その後に、パスを入れるのですが「URLSelect」のフォルダをドラッグ&ドロップすると楽です。

f:id:maxminkun:20171012230542p:plain


その後にEnterキーを押します。

f:id:maxminkun:20171012230904p:plain:w650

これは、「指定したフォルダに移動しますよ」という意味です。

そこで、

mono URLSelect.exe

と打ち込んでEnterキーを押して下さい。

f:id:maxminkun:20171012231347p:plain:w650


すると、「URL検索を行いたいファイルのパスを指定して下さい。」と表示されます。

f:id:maxminkun:20171012231536p:plain:w650


これも同様にして、バックアップしたファイルをドラッグ&ドロップします。

f:id:maxminkun:20171012231708p:plain


そして、Enterキーを押すと検索が始まります。

f:id:maxminkun:20171012231920p:plain:w650

表示されるのは「記事のタイトル」と、その中で貼られているリンクと通信を行った時に何かしらの問題があったURLです。

何百も記事を書いている方だと相当時間がかかりますから、そのまま放置して下さい(笑)
(650記事で2時間弱ぐらいでした・・・)

これでも頑張って高速にしたつもりなんですが力不足でした。

また、あまりに同じリンクにアクセスすると「DOS攻撃」と間違われるので、一度OKだったリンクは再アクセスしないようにしています。
(その突き合わせを行うので、時間がかかるのかもしれません。)

終了すると以下の画面になります。

f:id:maxminkun:20171012232451p:plain:w650


結果は「output」フォルダに出力されますので、お好きなエディタで開いてみて下さい。

f:id:maxminkun:20171012232603p:plain


f:id:maxminkun:20171012232622p:plain

URLが出力されているのは、ツールがアクセスした時に応答でエラーが出たものです。

実際にURLにアクセスしてみて、リンク切れを起こしていないか確認してください。

(Linuxも同様にして動くかも?しれません。)

Windows版

Windows版の場合は、前もっての準備は必要ありません。

もし、起動した時に「.Net framework 4.6.1」が足りませんと出た場合は、案内に従って下さい。

操作方法

「URLSelect.exe」を直接ダブルクリックして下さい。

f:id:maxminkun:20171012233347p:plain


すると以下の画面が立ち上がります。

f:id:maxminkun:20171012233436p:plain


ここで、バックアップしたファイルをドラッグ&ドロップして下さい。

f:id:maxminkun:20171012233635p:plain


f:id:maxminkun:20171012233720p:plain


その後、Enterキーを押すとMac版と同様にURLのリンク切れの検索を始めます。

f:id:maxminkun:20171012233912p:plain


f:id:maxminkun:20171012233933p:plain


リンク切れの判定結果は、「output」フォルダに出力されますので、お好きなエディタで起動してみて下さい。

f:id:maxminkun:20171012234053p:plain


最後に

ソースファイル、及びライセンスについてはこちらに載せています。

github.com

再ビルドが必要な場合はDLをしてみて下さい。

また、実際のプログラムをどのように組んでいるのか興味のある方もどうぞ(笑)

実は、Windows版もMac版も「C#」で書いています。

更に、基本的に「Visual Studio for Mac」で開発をしました。

初めての試みだったので、色々と発見がありました。楽しかったですよ!

再度言いますが、これは「はてなブログ」に特化したツールではありません。

「Movable Type」フォーマット形式のファイルならば利用可能ですので、WordPressなどの方にもご利用いただけると思います。

出力結果についての注意点

結果に「Forbidden」と出る場合は、ツール上何か通信が上手く行かなかっただけの場合が多いですが、「Not Found」は完全にリンクが切れていますので修正が必要です。

タイトルと照らし合わせて、修正を行って下さい。

何か操作や動作で質問がある場合は、いつでもどうぞ。

それでは今回はこの辺で!

adios!!

追記

時間がかかりすぎる場合は、バックアップのファイルを好きな個所で分割してファイルを分けて下さい。

そして、ツールを複数立ち上げて同時に処理させることも、一応「理論上」は出来るはずです。

全て「output」フォルダに結果は出力されますが、名前は重複しないようにしているので結果が保存される時にぶつかることはありません。

ただし、これは検証していないので、あくまで「裏技」としてご利用下さい。