【Goutte(PHP7)】フォーム送信に必要なデータを調べる方法 #003

はじめに

まず、このページの趣旨はGoutteでのフォーム送信のやり方の説明ではなく、フォーム送信時に必要な送信情報を漏れなく洗い出すため方法です。

※Goutteを使った基本的なフォームの送信方法につきましては下記の記事をご参照ください。

 

Goutte(PHP7)を使ってみる
Goutte(PHP7)を使ってみる #002
2018-04-17 15:57
はじめに #001でGoutteをインストール出来たので早速、簡単なサンプルを動かして見ましょう。 html情報の取得 手始めにWikipediaのページをスクレイピングしてみまし...

なぜ送信に必要な情報を調べなくてはいけないのか?

そんな面倒なことはせずに、ブラウザ上に表示されているフォーム項目の内容を配列に格納してformメソッドで送信してしまえば良いのでは?と思うかもしれません。このやり方で全く問題ありません。ただし、上手くいかないことの方が多いはずです。なぜならある程度作りのしっかりしたWebサイトはそれなりに対策しています。

hiddenされている送信情報を完璧に洗い出すこと

hiddenされている送信情報とは?

twitterの新規会員登録ページを例にあげてみます。

 

デベロッパーツールでhtmlを確認すると表の画面に表示されていない情報が大量に存在することがわかります。これは何の情報かと言うとサイト側が施したページリクエスト時に生成される認証用のトークン等です。このhidden項目を確認するためにhtmlを目視で確認するのはサイトによってはかなり面倒なので次の項では簡単に確認する方法を説明します。

 

ブラウザのデベロッパーツールを使って送信情報を確認する

chromeで確認する方法

1.デベロッパーツールを表示してみましょう。(Windowsの場合F12キー、Macの場合はCommandOptionIキー)

googleデベロッパーツールで確認1

 

2.表示したデベロッパーツールの上部メニュー「Network」をクリック

googleデベロッパーツールで確認2

 

3.Networkタブが開いた状態で、フォームを送信してみます。

今回は例としてGoogleを利用し「html」という文字列で検索してみます。検索フォームを送信後、Networkタブ内に表示されていた情報が更新されます。フォームの送信情報は最上部に表示されるのでName列の文字列をクリック。

googleデベロッパーツールで確認3

 

4.Networkタブ内の右側に詳細な情報が表示されますので最下部までスクロールしてください。一番に下に表示されている内容がフォーム送信に使われた情報です。

googleデベロッパーツールで確認4

Firefoxで確認する方法

1.デベロッパーツールを表示してみましょう。(Windowsの場合F12キー、Macの場合はCommandOptionIキー)

firefoxデベロッパーツールで確認1

 

2.表示したデベロッパーツールの上部メニュー「ネットワーク」をクリック

firefoxデベロッパーツールで確認2

 

3.ネットワークタブが開いた状態で、フォームを送信してみます。

今回もChromeの例と同じようにGoogleを利用し「html」という文字列で検索してみます。検索フォームを送信後、ネットワークタブ内に表示されていた情報が更新されます。フォームの送信情報は最上部に表示されるのでクリック。

firefoxデベロッパーツールで確認3

 

4.ネットワークタブ内の右側に詳細な情報が表示されますので右側のメニュー「パラメータ」をクリック。そこで表示される内容がフォーム送信に使われた情報です。

firefoxデベロッパーツールで確認4

 

以上です。

Goutte(PHP7)でスクレイピングする【完全マニュアル】

Goutte使い方
Goutte(PHP7)でスクレイピングする【完全マニュアル】
2018-04-16 17:55
はじめに ウェブサイトから情報を取得する場合、RSSやウェブサービスなどのAPIが用意されていればそれらを使うのが一般的ですが、もしサービス側でAPI等が用意されていない場合、どの...
関連キーワード
  • Nokogiri(Ruby)のインストール方法 #001
  • 要素数の変化に対応したスクレイピング技法
    要素数の変化に対応したスクレイピング技法 〜 table要素編 〜
  • 【Goutte(PHP7)】フォーム送信に必要なデータを調べる方法 #003
    【Goutte(PHP7)】フォーム送信に必要な情報を調べる方法 #003
  • Goutte(PHP7)を使ってみる
    Goutte(PHP7)を使ってみる #002
  • Goutte(PHP7)のインストール方法
    Goutte(PHP7)のインストール方法 #001
  • Goutte使い方
    Goutte(PHP7)でスクレイピングする【完全マニュアル】
Webクローラー、スクレイピングに関してお困りではありませんか?

DIGは他者に断られるような高度なサイト構造&セキュリティ(SPA、IP分散、画像や文字認証の突破)に対しての対策を最も得意としています。

「このサイトはクローリング、自動操作が可能か」等のご相談から技術的なご質問までクローリング、自動化に関してはどんな内容でも構いません。お気軽にお問い合わせください。

 

お問い合わせ
2018-02-17 18:43
下記フォームにご入力の上、送信ボタンを押してください ※【送信】をクリックすることで、弊社のプライバシーポリシーに同意、読んだものとします。...

 






おすすめの記事
サーバー上でiMacrosを動かしたい
ブラウザを自動操作したい
まずはじめに #001〜#006ではiMacrosの基本的な使い方やちょっとした応用技について説明しました。ある程度、iMacrosに慣れて...
Goutte(PHP7)を使ってみる
クローラーを作りたい
はじめに #001でGoutteをインストール出来たので早速、簡単なサンプルを動かして見ましょう。 html情報の取得 手始めにWikipe...
DIGについて
まずはじめに はじめまして。DIGと申します。 上場IT企業の部長職を経てフリーランスになりました。Webクローラーの開発・運用を行なってい...