hitode909の日記

以前はプログラミング日記でしたが、今は子育て日記です

HTTPSのサイトのsitemap.xmlをクロールして全ページ開いてエラーがあったらmarkdownで教えてくれるやつ

まず,URLを1つ渡すとPhantomJSで開いてmixed contentのエラーを教えてくれるやつ
github.com

を作って,次に,sitemap.xmlのURLを渡すとクロールして内容を表示してくれるやつ(sitemapindexにも対応している)
github.com

を作って,それらを組み合わせて,sitemap.xmlのURLを渡すと全ページ開いてmixed contentのエラーを教えてくれるやつ
github.com

を作った.
自分でやってるHTTPのサイトをHTTPSにしたいとか,HTTPSのサイトをやってるけど,意図せずHTTPのリソースを読み込んでないか,とか試したいときに使える.
PhantomJSで見てるのでノロノロしてるけど,最終的には全ページ開いて回るので,他人の運営しているサイトに対して実行すると迷惑きわまりないことでしょう.


別のリポジトリに置いてるスクリプトを呼ぶときに,けっこう乱暴に呼んでいて,tmp/以下にgit cloneしてgit pullしてbundle installする,ということをスクリプトを実行するたび毎回やっている.gemで入れるより早いけど行儀は悪い.

  def clone_repositories
    %w(sitemap-printer detect-mixed-content).each{|repository|
      system "git clone git@github.com:hitode909/#{repository}.git tmp/#{repository} >& /dev/null"
      FileUtils.chdir "tmp/#{repository}" do
        system 'git pull origin master >& /dev/null'
        system 'bundle install >& /dev/null'
      end
    }
  end