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

質問編集履歴

2

文言修正

2019/10/01 21:30

投稿

komo_ta
komo_ta

スコア275

title CHANGED
File without changes
body CHANGED
@@ -19,8 +19,8 @@
19
19
  session_start();
20
20
 
21
21
  $dom = new \DOMDocument;
22
- $testHogeURL = 'https://www.hoge.co.jp';
22
+ $testExampleURL = 'https://example.com';
23
- @$dom->loadHTML(mb_convert_encoding(file_get_contents($testHogeURL), 'HTML-ENTITIES', 'UTF-8'));
23
+ @$dom->loadHTML(mb_convert_encoding(file_get_contents($testExampleURL), 'HTML-ENTITIES', 'UTF-8'));
24
24
  $xpath = new \DOMXPath($dom);
25
25
  $query = $xpath->query('//center/div')->item(0);
26
26
  //B画面内の確認リンクを抽出
@@ -31,8 +31,8 @@
31
31
  $exec = curl_exec($ch);
32
32
 
33
33
  // ②スクレイピングしたいURLの中身を取得する
34
- $hogeURL = 'https://www.hogehoge.co.jp/hogehoge';
34
+ $exampleURL = 'https://example.com/example';
35
- @$dom->loadHTML(mb_convert_encoding(file_get_contents($hogeURL), 'HTML-ENTITIES', 'UTF-8'));
35
+ @$dom->loadHTML(mb_convert_encoding(file_get_contents($exampleURL), 'HTML-ENTITIES', 'UTF-8'));
36
36
  var_dump($dom->documentElement);
37
37
  ```
38
38
  こちらの実装では、②のURLの中身(HTML)を取得時、B画面を取得してしまいます。

1

誤字の修正

2019/10/01 21:30

投稿

komo_ta
komo_ta

スコア275

title CHANGED
File without changes
body CHANGED
@@ -2,7 +2,7 @@
2
2
  あるサイトのスクレイピングを行うにあたって直面している問題です。
3
3
 
4
4
  #概要
5
- 上述のサイトのA画面をスクレイピングするために、A画面をリクエストします。しかしそのサービスの仕様上、一旦B画面に遷移して内容を確認しなければ、A画面にアクセスすることができません。確認(具体的には画面内のリンクを踏む)した後はセッションIDを通じて、同一ブラウザであることが認識され、その情報が失われない限りは再度B画面に飛ぶことはありません。
5
+ 上述のサイトのA画面をスクレイピングするために、A画面をリクエストします。しかしそのサイトの仕様上、一旦B画面に遷移して内容を確認しなければ、A画面にアクセスすることができません。確認(具体的には画面内のリンクを踏む)した後はセッションIDを通じて、同一ブラウザであることが認識され、その情報が失われない限りは再度B画面に飛ぶことはありません。
6
6
 
7
7
  **※A画面はあくまで例で、サイト内の任意の画面にアクセスする前に、B画面での確認が必要です**
8
8
 
@@ -35,7 +35,7 @@
35
35
  @$dom->loadHTML(mb_convert_encoding(file_get_contents($hogeURL), 'HTML-ENTITIES', 'UTF-8'));
36
36
  var_dump($dom->documentElement);
37
37
  ```
38
- こちらの実装では、②のURLのコンテンツを取得時、B画面の内容を取得してしまいます。
38
+ こちらの実装では、②のURLの中身(HTML)を取得時、B画面を取得してしまいます。
39
39
  原因として①と②のリクエストが同一のセッションIDを持ってないために起こっていると思いますが、ここからの実装について調べてもよくわかりませんでした。
40
40
 
41
41
  何かアドバイスしていただける方いませんでしょうか?