回答編集履歴

5

re

2018/10/05 01:00

投稿

papinianus
papinianus

スコア12705

test CHANGED
@@ -42,7 +42,7 @@
42
42
 
43
43
  // 商品画像URL
44
44
 
45
- var itemUrl = searchBy(rootHtml, '<div class="item_imgs" style="background-image:url(',')"', '<section class="search_item_list_section" data-an-comp="search_item">', 10000, si)
45
+ var itemUrl = searchBy(rootHtml, '<div class="item_imgs" style="background-image:url(',')"', '<section class="search_item_list_section" data-an-comp="search_item">', 10000, si);
46
46
 
47
47
  values[currentRowIndex - 2].push(itemUrl ? itemUrl.trim() : '該当データ無し')
48
48
 
@@ -50,7 +50,7 @@
50
50
 
51
51
  // 商品画像
52
52
 
53
- var i = sc * 10 + si + 2;
53
+ var i = (sc - 1) * 10 + si + 2;
54
54
 
55
55
  var itemImage = '=IMAGE(B' + i + ',4,100,50)'
56
56
 

4

さらに変更

2018/10/05 01:00

投稿

papinianus
papinianus

スコア12705

test CHANGED
@@ -26,7 +26,19 @@
26
26
 
27
27
  for (var si = 0; si < 10; si++) {//ここ(1ページ10件であることが前提)
28
28
 
29
+ // ASIN
29
30
 
31
+ var asin = searchBy(rootHtml, '<div data-caution="', '">', 'class="search_item_list_section"', 100000, si)
32
+
33
+ if (!asin) {
34
+
35
+ break
36
+
37
+ }
38
+
39
+ values[currentRowIndex - 2] = [];
40
+
41
+ values[currentRowIndex - 2].push(asin || '該当データ無し');
30
42
 
31
43
  // 商品画像URL
32
44
 
@@ -42,9 +54,9 @@
42
54
 
43
55
  var itemImage = '=IMAGE(B' + i + ',4,100,50)'
44
56
 
45
- values[currentRowIndex - 2].push(itemImage ? itemImage.trim() : '該当データ無し')
57
+ values[currentRowIndex - 2].push(itemImage ? itemImage.trim() : '該当データ無し');
46
58
 
47
-
59
+ }
48
60
 
49
61
       currentRowIndex++
50
62
 

3

変更

2018/10/04 08:42

投稿

papinianus
papinianus

スコア12705

test CHANGED
@@ -1,20 +1,8 @@
1
- わかったかも
2
-
3
- これ、ページネーションしているサイトで1ページ10件ずつではない?
4
-
5
- だとしたらforの組み方がおかしい
6
-
7
- forの前でscを0にしてやれば上手くいくはず
8
-
9
-
10
-
11
- コードブロックで、//ここ、書いてある2行をこういう感じに換えてみてくだ
1
+ 他人回答じになっても回答削除でないのがteratailの仕様(以前削除依頼したが拒絶れた)ので、パクリになりますが、動作するような修正をします。
12
2
 
13
3
 
14
4
 
15
5
  ```javascript
16
-
17
- var si = 0;//ここ
18
6
 
19
7
  // 検索
20
8
 
@@ -36,7 +24,7 @@
36
24
 
37
25
  // 1次元配列として取得
38
26
 
39
- for (; si < 10000; si++) {//ここ
27
+ for (var si = 0; si < 10; si++) {//ここ(1ページ10件であることが前提)
40
28
 
41
29
 
42
30
 
@@ -50,9 +38,9 @@
50
38
 
51
39
  // 商品画像
52
40
 
53
- var i = si + 2
41
+ var i = sc * 10 + si + 2;
54
42
 
55
- var itemImage = '=IMAGE(B' + parseInt(i) + ',4,100,50)'
43
+ var itemImage = '=IMAGE(B' + i + ',4,100,50)'
56
44
 
57
45
  values[currentRowIndex - 2].push(itemImage ? itemImage.trim() : '該当データ無し')
58
46
 

2

変更

2018/10/04 08:41

投稿

papinianus
papinianus

スコア12705

test CHANGED
@@ -13,6 +13,8 @@
13
13
 
14
14
 
15
15
  ```javascript
16
+
17
+ var si = 0;//ここ
16
18
 
17
19
  // 検索
18
20
 
@@ -33,8 +35,6 @@
33
35
 
34
36
 
35
37
  // 1次元配列として取得
36
-
37
- var si = 0;//ここ
38
38
 
39
39
  for (; si < 10000; si++) {//ここ
40
40
 

1

コード追記

2018/10/04 08:32

投稿

papinianus
papinianus

スコア12705

test CHANGED
@@ -5,3 +5,63 @@
5
5
  だとしたらforの組み方がおかしい
6
6
 
7
7
  forの前でscを0にしてやれば上手くいくはず
8
+
9
+
10
+
11
+ 下のコードブロックで、//ここ、と書いてある2行をこういう感じに書き換えてみてくださいな
12
+
13
+
14
+
15
+ ```javascript
16
+
17
+ // 検索
18
+
19
+ for (var sc = 1; sc <= 100000; sc++) {
20
+
21
+ var rootHtml = getHtml('サイトのURL' + sc)
22
+
23
+
24
+
25
+ if (!rootHtml || rootHtml.length < 100000) {
26
+
27
+ Logger.log('no more page : ' + rootHtml)
28
+
29
+ break
30
+
31
+ }
32
+
33
+
34
+
35
+ // 1次元配列として取得
36
+
37
+ var si = 0;//ここ
38
+
39
+ for (; si < 10000; si++) {//ここ
40
+
41
+
42
+
43
+ // 商品画像URL
44
+
45
+ var itemUrl = searchBy(rootHtml, '<div class="item_imgs" style="background-image:url(',')"', '<section class="search_item_list_section" data-an-comp="search_item">', 10000, si)
46
+
47
+ values[currentRowIndex - 2].push(itemUrl ? itemUrl.trim() : '該当データ無し')
48
+
49
+
50
+
51
+ // 商品画像
52
+
53
+ var i = si + 2
54
+
55
+ var itemImage = '=IMAGE(B' + parseInt(i) + ',4,100,50)'
56
+
57
+ values[currentRowIndex - 2].push(itemImage ? itemImage.trim() : '該当データ無し')
58
+
59
+
60
+
61
+      currentRowIndex++
62
+
63
+ }
64
+
65
+
66
+
67
+ ```