質問編集履歴

9

補足の追加

2019/11/28 05:45

投稿

Y.NINOMIYA
Y.NINOMIYA

スコア32

test CHANGED
@@ -1 +1 @@
1
- PHPによるスクレイピングによるエラー
1
+ PHPによるスクレイピングによるエラー(動的ページ)
test CHANGED
@@ -202,4 +202,12 @@
202
202
 
203
203
 
204
204
 
205
+ 補足②
206
+
207
+ ---
208
+
209
+ Goutteによるスクレイピングは実現することができ、**JavaScriptによるレタリングがなされた後のページのスクレイピング**を実現させたく、この質問をしました。動的ページのスクレイピングと本文に明記していませんでした。申し訳ありません。
210
+
211
+
212
+
205
213
  再度よろしくお願いします。

8

補足の明記

2019/11/28 05:45

投稿

Y.NINOMIYA
Y.NINOMIYA

スコア32

test CHANGED
File without changes
test CHANGED
@@ -126,6 +126,8 @@
126
126
 
127
127
 
128
128
 
129
+ 補足
130
+
129
131
  ---
130
132
 
131
133
  ### 修正したPHP

7

書式の改善

2019/11/27 16:58

投稿

Y.NINOMIYA
Y.NINOMIYA

スコア32

test CHANGED
File without changes
test CHANGED
@@ -124,6 +124,8 @@
124
124
 
125
125
  回答よろしくお願いします。
126
126
 
127
+
128
+
127
129
  ---
128
130
 
129
131
  ### 修正したPHP

6

重要な補足の追加

2019/11/27 16:35

投稿

Y.NINOMIYA
Y.NINOMIYA

スコア32

test CHANGED
File without changes
test CHANGED
@@ -123,3 +123,79 @@
123
123
 
124
124
 
125
125
  回答よろしくお願いします。
126
+
127
+ ---
128
+
129
+ ### 修正したPHP
130
+
131
+ > use JonnyW\PhantomJs\Client
132
+
133
+ を変更しました。
134
+
135
+ ```PHP
136
+
137
+ <?php
138
+
139
+
140
+
141
+ namespace App\Http\Controllers;
142
+
143
+
144
+
145
+ use Goutte\Client;
146
+
147
+ use JonnyW\PhantomJs\Client as Client_1; //ここを変更
148
+
149
+
150
+
151
+ class ScrapingController extends Controller
152
+
153
+ {
154
+
155
+ public function fetchText()
156
+
157
+ {
158
+
159
+ $client = Client::getInstance();
160
+
161
+ $client->getEngine()->setPath('vendor/bin/phantomjs');
162
+
163
+
164
+
165
+ $request = $client->getMessageFactory()->createRequest('http://localhost/main.html', 'GET');
166
+
167
+ $response = $client->getMessageFactory()->createResponse();
168
+
169
+
170
+
171
+ $client->send($request, $response);
172
+
173
+
174
+
175
+ $crawler = new Crawler($response->getContent());
176
+
177
+ $text = $crawler->filter('div')->text();
178
+
179
+ var_dump($text); // string(20) " hoge fuga"
180
+
181
+ }
182
+
183
+ }
184
+
185
+ ?>
186
+
187
+ ```
188
+
189
+ その際、新たなエラーが出ました。(これで全文)
190
+
191
+ ```error
192
+
193
+ Fatal error: Class 'App\Http\Controllers\Controller' not found in C:\xampp\htdocs\main.php on line 8
194
+
195
+ ```
196
+
197
+ クラス'App\Http\Controllers\Controller'がこのPHPに無いということだと思うのですが、そもそもどこでそのクラスを使おうとしているのでしょうか。
198
+
199
+
200
+
201
+ 再度よろしくお願いします。

5

初心者マークの追加

2019/11/27 16:34

投稿

Y.NINOMIYA
Y.NINOMIYA

スコア32

test CHANGED
File without changes
test CHANGED
@@ -122,4 +122,4 @@
122
122
 
123
123
 
124
124
 
125
- 回答よろしくお願いします
125
+ 回答よろしくお願いします

4

コード中の誤字

2019/11/27 15:50

投稿

Y.NINOMIYA
Y.NINOMIYA

スコア32

test CHANGED
File without changes
test CHANGED
@@ -42,7 +42,7 @@
42
42
 
43
43
 
44
44
 
45
- $request = $client->getMessageFactory()->createRequest('http://localhost/main.html/', 'GET');
45
+ $request = $client->getMessageFactory()->createRequest('http://localhost/main.html', 'GET');
46
46
 
47
47
  $response = $client->getMessageFactory()->createResponse();
48
48
 

3

コード中の誤字

2019/11/27 14:01

投稿

Y.NINOMIYA
Y.NINOMIYA

スコア32

test CHANGED
File without changes
test CHANGED
@@ -42,7 +42,7 @@
42
42
 
43
43
 
44
44
 
45
- $request = $client->getMessageFactory()->createRequest('http://localhost/main.hyml/', 'GET');
45
+ $request = $client->getMessageFactory()->createRequest('http://localhost/main.html/', 'GET');
46
46
 
47
47
  $response = $client->getMessageFactory()->createResponse();
48
48
 

2

コードの間違い

2019/11/27 13:52

投稿

Y.NINOMIYA
Y.NINOMIYA

スコア32

test CHANGED
File without changes
test CHANGED
@@ -42,7 +42,7 @@
42
42
 
43
43
 
44
44
 
45
- $request = $client->getMessageFactory()->createRequest('http://localhost:8080/', 'GET');
45
+ $request = $client->getMessageFactory()->createRequest('http://localhost/main.hyml/', 'GET');
46
46
 
47
47
  $response = $client->getMessageFactory()->createResponse();
48
48
 
@@ -66,7 +66,7 @@
66
66
 
67
67
  ```
68
68
 
69
- ### スクレイピングされるページのHTML
69
+ ### スクレイピングされるページのHTML(main.html)
70
70
 
71
71
  ```HTML
72
72
 

1

補足情報

2019/11/27 13:39

投稿

Y.NINOMIYA
Y.NINOMIYA

スコア32

test CHANGED
File without changes
test CHANGED
@@ -66,6 +66,48 @@
66
66
 
67
67
  ```
68
68
 
69
+ ### スクレイピングされるページのHTML
70
+
71
+ ```HTML
72
+
73
+ <html>
74
+
75
+ <body>
76
+
77
+ <div id="text">
78
+
79
+ <p>hoge</p>
80
+
81
+ <!-- ここにjsでfugaを追加 -->
82
+
83
+ </div>
84
+
85
+ </body>
86
+
87
+ <script type="text/javascript">
88
+
89
+ //要素の作成
90
+
91
+ var element = document.getElementById('text');
92
+
93
+ var div = document.createElement('p');
94
+
95
+ div.textContent = 'fuga';
96
+
97
+
98
+
99
+ //最後の子要素として追加
100
+
101
+ element.appendChild(div);
102
+
103
+ </script>
104
+
105
+
106
+
107
+ </html>
108
+
109
+ ```
110
+
69
111
  (サイトのサンプルコードのまま)
70
112
 
71
113