###わからないこと
いつもお世話になっております。
この度下記のサイトのクローリングを試みております。
http://www.kaigokensaku.mhlw.go.jp/
上記サイト内の各市区町村の事業所一覧にて、各事業所がiframe内で作成されています。
そして、コマンドをたたいて上記のサイトをiframe内のhtmlを含んだ全体のhtml構造を出力しようとしています。
■iframe内にあるデータをphantomjsを用いて取得しようとしていますが、案件一覧の動的ページを取得することができておりません。
コードは下記のようになっております。
use JonnyW\PhantomJs\Client as PClient; // PhantomJs $client = PClient::getInstance(); $client->getEngine()->setPath('vendor\bin\phantomjs.exe'); $projectListUrl = 'http://www.kaigokensaku.mhlw.go.jp/13/index.php?action_kouhyou_pref_search_list_list=true&PrefCd=13'; $client->isLazy(); $request = $client->getMessageFactory()->createRequest(); $request->setUrl($projectListUrl); $response = $client->getMessageFactory()->createResponse(); $client->send($request, $response); if($response->getStatus() === 200) { echo $response->getContent(); }
delayを設けてiframe内に検索結果が表示されるようにしているはずなのですが、うまく言っておりません
###進捗の報告
現在php-phantomjsとphp-webdriverを用いてinframeの情報を取得しようとしています。
ただ、ウェブドライバーにchromeを指定しているのですが、ドライバーを開くのにタイムアウトを起こしてしまい、下記のstart以降に進むことができておりません。
use Facebook\WebDriver; use Facebook\WebDriver\WebDriverExpectedCondition; use Facebook\WebDriver\WebDriverBy; use Facebook\WebDriver\Remote; use Facebook\WebDriver\Remote\RemoteWebDriver; use Facebook\WebDriver\Remote\DesiredCapabilities; use Facebook\WebDriver\Chrome\ChromeDriver; //↑はfunctionがに追記しました。 // Chromeドライバを環境変数にぶちこむ putenv('webdriver.chrome.driver=vendor\bin\chromedriver.exe'); // ブラウザ起動 $driver = ChromeDriver::start();
上記のChromeDriver::start();にてタイムアウトになる原因を探っているところです。
原因の中にjavaを起動していないからというものがあったため試みましたが、結果は変わらずtimeoutとなってしまいました。
「java -jar selenium-server-standalone-3.7.1.jar」
ご教授いただければ幸いです。
何卒よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/11/16 07:50
退会済みユーザー
2017/11/16 08:24
退会済みユーザー
2017/11/20 08:38