mechanizeのシンプルなログイン認証突破する方法

※スクレイピング作業はサイトの注意事項に従って行ってください。

流れ

  1. ログインページ取得
  2. フォーム取得
  3. フォーム入力
  4. 送信
  5. 送信後のページ取得
  6. スクレイピング作業

コード

#ログインページを取得
#フォームを取得
#フォームに入力
#送信・ログイン後のページを取得・表示
#スクレイピング実行

require "mechanize"

#ログインページを取得
agent = Mechanize.new
login_page = agent.get("https://○○○○○.○○.○○.○○/") #p login_page.form_with(action: "/user/usLogin/login")

#フォームを取得
form = login_page.form_with(action: "/user/usLogin/login")

#フォームに入力
form.field_with(name: "login_id").value = "○○○○○"
form.field_with(name: "password").value = "○○○○○○○○"

#送信・ログイン後のページを取得・表示
logined_page = agent.submit(form) #引数に取得したフォームまんま
puts logined_page.content.size

#スクレイピング実行
#移行mechanizeのまま進めてもいいし、.contentで毎度nokogiri化してもいい
#メソッド等は別途確認