teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

8

追記23時

2017/11/17 14:26

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -52,7 +52,10 @@
52
52
  $driver = ChromeDriver::start();
53
53
  ```
54
54
  上記のChromeDriver::start();にてタイムアウトになる原因を探っているところです。
55
+ 原因の中にjavaを起動していないからというものがあったため試みましたが、結果は変わらずtimeoutとなってしまいました。
55
56
 
57
+ 「java -jar selenium-server-standalone-3.7.1.jar」
58
+
56
59
  ご教授いただければ幸いです。
57
60
 
58
61
  何卒よろしくお願いいたします。

7

進捗の報告

2017/11/17 14:26

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -32,6 +32,27 @@
32
32
  ```
33
33
  delayを設けてiframe内に検索結果が表示されるようにしているはずなのですが、うまく言っておりません
34
34
 
35
+ ###進捗の報告
36
+ 現在php-phantomjsとphp-webdriverを用いてinframeの情報を取得しようとしています。
37
+ ただ、ウェブドライバーにchromeを指定しているのですが、ドライバーを開くのにタイムアウトを起こしてしまい、下記のstart以降に進むことができておりません。
38
+
39
+ ```
40
+ use Facebook\WebDriver;
41
+ use Facebook\WebDriver\WebDriverExpectedCondition;
42
+ use Facebook\WebDriver\WebDriverBy;
43
+ use Facebook\WebDriver\Remote;
44
+ use Facebook\WebDriver\Remote\RemoteWebDriver;
45
+ use Facebook\WebDriver\Remote\DesiredCapabilities;
46
+ use Facebook\WebDriver\Chrome\ChromeDriver;
47
+ //↑はfunctionがに追記しました。
48
+
49
+ // Chromeドライバを環境変数にぶちこむ
50
+ putenv('webdriver.chrome.driver=vendor\bin\chromedriver.exe');
51
+ // ブラウザ起動
52
+ $driver = ChromeDriver::start();
53
+ ```
54
+ 上記のChromeDriver::start();にてタイムアウトになる原因を探っているところです。
55
+
35
56
  ご教授いただければ幸いです。
36
57
 
37
58
  何卒よろしくお願いいたします。

6

追記

2017/11/17 12:45

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
File without changes

5

文章下部追記

2017/11/17 10:36

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -30,6 +30,8 @@
30
30
  echo $response->getContent();
31
31
  }
32
32
  ```
33
+ delayを設けてiframe内に検索結果が表示されるようにしているはずなのですが、うまく言っておりません
33
34
 
34
35
  ご教授いただければ幸いです。
36
+
35
- よろしくお願いいたします。
37
+ 何卒よろしくお願いいたします。

4

追記

2017/11/17 07:31

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -3,6 +3,7 @@
3
3
  この度下記のサイトのクローリングを試みております。
4
4
  http://www.kaigokensaku.mhlw.go.jp/
5
5
  上記サイト内の各市区町村の事業所一覧にて、各事業所がiframe内で作成されています。
6
+ そして、コマンドをたたいて上記のサイトをiframe内のhtmlを含んだ全体のhtml構造を出力しようとしています。
6
7
 
7
8
  ■iframe内にあるデータをphantomjsを用いて取得しようとしていますが、案件一覧の動的ページを取得することができておりません。
8
9
  コードは下記のようになっております。

3

修正②

2017/11/17 07:14

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- 【phantomjs】srcのないiframe内のデータをクローリングする方法「php」
1
+ 【phantomjs】srcのないiframe内のデータをクローリングする方法
body CHANGED
File without changes

2

タイトル変更

2017/11/17 06:06

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- 【phantomjs】srcのないiframe内のデータをクローリングする方法
1
+ 【phantomjs】srcのないiframe内のデータをクローリングする方法「php」
body CHANGED
File without changes

1

更新と修正

2017/11/17 04:40

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- srcのないiframe内のデータをクローリングする方法
1
+ 【phantomjs】srcのないiframe内のデータをクローリングする方法
body CHANGED
@@ -3,7 +3,32 @@
3
3
  この度下記のサイトのクローリングを試みております。
4
4
  http://www.kaigokensaku.mhlw.go.jp/
5
5
  上記サイト内の各市区町村の事業所一覧にて、各事業所がiframe内で作成されています。
6
- iframe内にあるデータのとり方についていくつかのサイトで説明がありますが、それをphpでのクローリングで取得する方法、srcの中身がない場合の対処がわかっておりません。
7
6
 
7
+ ■iframe内にあるデータをphantomjsを用いて取得しようとしていますが、案件一覧の動的ページを取得することができておりません。
8
+ コードは下記のようになっております。
9
+
10
+ ```
11
+ use JonnyW\PhantomJs\Client as PClient;
12
+
13
+ // PhantomJs
14
+ $client = PClient::getInstance();
15
+ $client->getEngine()->setPath('vendor\bin\phantomjs.exe');
16
+
17
+ $projectListUrl = 'http://www.kaigokensaku.mhlw.go.jp/13/index.php?action_kouhyou_pref_search_list_list=true&PrefCd=13';
18
+
19
+ $client->isLazy();
20
+
21
+ $request = $client->getMessageFactory()->createRequest();
22
+ $request->setUrl($projectListUrl);
23
+
24
+ $response = $client->getMessageFactory()->createResponse();
25
+
26
+ $client->send($request, $response);
27
+
28
+ if($response->getStatus() === 200) {
29
+ echo $response->getContent();
30
+ }
31
+ ```
32
+
8
33
  ご教授いただければ幸いです。
9
34
  よろしくお願いいたします。