Mechanize で BASIC 認証を試す

2020/04/19

仕事で BASIC 認証のかかったサイトを毎日見るというのを日課にしないといけないのだが、忘れる上にどれが更新のある情報かわからん...

Mechanize を使ってスクレイピングを行い、更新のある情報を判るようにしたいというのが狙いだが、お試しでガンガンアクセスしたら不正アクセスと思われかねないので、まずは自宅のルーターで練習する。

会社ではマネージメントの役職だが、自分が楽になるためのプログラムぐらいはできないとね。

# coding: utf-8
#
require 'mechanize'
require 'logger'

url = 'http://自宅ルーター/'
user, pass = 'アカウント', 'パスワード'

agent = Mechanize.new do |a|
  a.user_agent_alias = 'Windows IE 9' #USER_AGENT の設定
  a.follow_meta_refresh = true #meta タグの refresh を有効にする
  a.log = Logger.new($stdout) # エラーは標準出力へ
end

begin
  agent.add_auth(url, user, pass) #BASIC 認証の設定
  agent.get(url)
  agent.page.frame_with(:name => 'top').click #≶frame src="top.html" name="top"> を開く
  p agent.page.body #HTML 本文を表示