Goutteは静的なHTMLをSymfonyのDomcrawlerをベースに解析して処理をするので動的な状態維持はできないかと思います。
Goutte
方法としては、
1.WebdriverでChromeやFirefoxブラウザを自動操作して処理を行う方法(Javascript実行やページでの状態保持が可能)、多くの事が可能であるがエラー等の処理が慣れるまで大変なのとサーバー構築にやや難度あり。
- GoogleChrome Headress 用にChrome公式でPuppeteerというJavascriptでのライブラリがあります。
Google Chrome Puppeteer for Headless Automation
- あるいはLaravelDuskを自動操作に活用する方法もあります
Automatically Making Monthly Payments with Dusk
2.Goutteでform要素を取得してsubmitする時に、post用の値を入れられるようですが、その時にハローワークのform内のname属性がtodofukenのvalue値をプログラムで入れる方法(動かしてはいません)
例 茨城県であれば8(値はChromeのDevToolsのElementsタブ等などで調べてリスト化しておく、あるいはリニューアルなどの変化は無いかと思いますがプログラム中で取得する)
$form = $crawler->selectButton('xxxxx')->form();
$crawler = $client->submit($form, ["todofuken"=>8]);
PHP と Goutte ではじめる超絶簡単クローラー入門 ログイン編
ひとまず2の方法でやれば難易度的にはそれほど難しくはないかと思います。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/09/11 11:36
退会済みユーザー
2017/09/11 11:38
2017/09/11 12:29 編集