質問編集履歴

4

修正

2019/06/14 05:37

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -58,8 +58,6 @@
58
58
 
59
59
  const puppeteer = require('puppeteer');
60
60
 
61
- const delay = require('delay');
62
-
63
61
 
64
62
 
65
63
  const domain = "xxx";
@@ -104,8 +102,6 @@
104
102
 
105
103
  await page.goto(urls[0], { waitUntil: 'domcontentloaded' });
106
104
 
107
- await delay(1000);
108
-
109
105
 
110
106
 
111
107
  //ページャーURL取得(配列:urls)

3

修正

2019/06/14 05:37

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -116,24 +116,6 @@
116
116
 
117
117
  );
118
118
 
119
- for( var i = 3; i < pageList.length; i++){
120
-
121
- urls.push(pageList[i]);
122
-
123
- }
124
-
125
-
126
-
127
- //イベント情報をスクレイピング
128
-
129
- const num = 10;
130
-
131
- for( var i = 0; i < num; i++){
132
-
133
- console.log(urls[i]);
134
-
135
- }
136
-
137
119
 
138
120
 
139
121
  //ブラウザを終了する

2

追記

2019/06/14 05:36

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -28,6 +28,8 @@
28
28
 
29
29
  ```Javascript
30
30
 
31
+ ///////////////////////該当箇所のみ(省略)/////////////////////////
32
+
31
33
  //定数を使うと動かない
32
34
 
33
35
  const pathPager = 'div.test';
@@ -50,7 +52,9 @@
50
52
 
51
53
 
52
54
 
55
+
56
+
53
- //全文
57
+ ///////////////////////全文/////////////////////////
54
58
 
55
59
  const puppeteer = require('puppeteer');
56
60
 

1

追記

2019/06/14 05:35

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -48,6 +48,96 @@
48
48
 
49
49
  );
50
50
 
51
+
52
+
53
+ //全文
54
+
55
+ const puppeteer = require('puppeteer');
56
+
57
+ const delay = require('delay');
58
+
59
+
60
+
61
+ const domain = "xxx";
62
+
63
+ const pathCalender = "xxx";
64
+
65
+ let urls = new Array(domain + pathCalender);
66
+
67
+
68
+
69
+ const pathPager = 'div.monthNavAreaInner:first-child li a';
70
+
71
+
72
+
73
+ //puppeteer起動
74
+
75
+ puppeteer.launch({
76
+
77
+ headless: true,
78
+
79
+ ignoreHTTPSErrors: true,
80
+
81
+ args: [
82
+
83
+ '--no-sandbox',
84
+
85
+ '--disable-setuid-sandbox'
86
+
87
+ ]
88
+
89
+ }).then(async browser => {
90
+
91
+
92
+
93
+ //新しいページを開く
94
+
95
+ const page = await browser.newPage();
96
+
97
+
98
+
99
+ //サイトを開く+domを読み込むまで待機
100
+
101
+ await page.goto(urls[0], { waitUntil: 'domcontentloaded' });
102
+
103
+ await delay(1000);
104
+
105
+
106
+
107
+ //ページャーURL取得(配列:urls)
108
+
109
+ const pageList = await page.evaluate(() => Array.from(
110
+
111
+ document.querySelectorAll(pathPager)).map(a => a.href)
112
+
113
+ );
114
+
115
+ for( var i = 3; i < pageList.length; i++){
116
+
117
+ urls.push(pageList[i]);
118
+
119
+ }
120
+
121
+
122
+
123
+ //イベント情報をスクレイピング
124
+
125
+ const num = 10;
126
+
127
+ for( var i = 0; i < num; i++){
128
+
129
+ console.log(urls[i]);
130
+
131
+ }
132
+
133
+
134
+
135
+ //ブラウザを終了する
136
+
137
+ await browser.close();
138
+
139
+ });
140
+
51
141
  ```
52
142
 
53
143