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

回答編集履歴

5

re

2018/10/05 01:00

投稿

papinianus
papinianus

スコア12705

answer CHANGED
@@ -20,11 +20,11 @@
20
20
  values[currentRowIndex - 2] = [];
21
21
  values[currentRowIndex - 2].push(asin || '該当データ無し');
22
22
  // 商品画像URL
23
- 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)
23
+ 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);
24
24
  values[currentRowIndex - 2].push(itemUrl ? itemUrl.trim() : '該当データ無し')
25
25
 
26
26
  // 商品画像
27
- var i = sc * 10 + si + 2;
27
+ var i = (sc - 1) * 10 + si + 2;
28
28
  var itemImage = '=IMAGE(B' + i + ',4,100,50)'
29
29
  values[currentRowIndex - 2].push(itemImage ? itemImage.trim() : '該当データ無し');
30
30
  }

4

さらに変更

2018/10/05 01:00

投稿

papinianus
papinianus

スコア12705

answer CHANGED
@@ -12,7 +12,13 @@
12
12
 
13
13
  // 1次元配列として取得
14
14
  for (var si = 0; si < 10; si++) {//ここ(1ページ10件であることが前提)
15
-
15
+ // ASIN
16
+ var asin = searchBy(rootHtml, '<div data-caution="', '">', 'class="search_item_list_section"', 100000, si)
17
+ if (!asin) {
18
+ break
19
+ }
20
+ values[currentRowIndex - 2] = [];
21
+ values[currentRowIndex - 2].push(asin || '該当データ無し');
16
22
  // 商品画像URL
17
23
  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)
18
24
  values[currentRowIndex - 2].push(itemUrl ? itemUrl.trim() : '該当データ無し')
@@ -20,8 +26,8 @@
20
26
  // 商品画像
21
27
  var i = sc * 10 + si + 2;
22
28
  var itemImage = '=IMAGE(B' + i + ',4,100,50)'
23
- values[currentRowIndex - 2].push(itemImage ? itemImage.trim() : '該当データ無し')
29
+ values[currentRowIndex - 2].push(itemImage ? itemImage.trim() : '該当データ無し');
24
-
30
+ }
25
31
       currentRowIndex++
26
32
  }
27
33
 

3

変更

2018/10/04 08:42

投稿

papinianus
papinianus

スコア12705

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

2

変更

2018/10/04 08:41

投稿

papinianus
papinianus

スコア12705

answer CHANGED
@@ -6,6 +6,7 @@
6
6
  下のコードブロックで、//ここ、と書いてある2行をこういう感じに書き換えてみてくださいな
7
7
 
8
8
  ```javascript
9
+ var si = 0;//ここ
9
10
  // 検索
10
11
  for (var sc = 1; sc <= 100000; sc++) {
11
12
  var rootHtml = getHtml('サイトのURL' + sc)
@@ -16,7 +17,6 @@
16
17
  }
17
18
 
18
19
  // 1次元配列として取得
19
- var si = 0;//ここ
20
20
  for (; si < 10000; si++) {//ここ
21
21
 
22
22
  // 商品画像URL

1

コード追記

2018/10/04 08:32

投稿

papinianus
papinianus

スコア12705

answer CHANGED
@@ -1,4 +1,34 @@
1
1
  わかったかも
2
2
  これ、ページネーションしているサイトで1ページ10件ずつではない?
3
3
  だとしたらforの組み方がおかしい
4
- forの前でscを0にしてやれば上手くいくはず
4
+ forの前でscを0にしてやれば上手くいくはず
5
+
6
+ 下のコードブロックで、//ここ、と書いてある2行をこういう感じに書き換えてみてくださいな
7
+
8
+ ```javascript
9
+ // 検索
10
+ for (var sc = 1; sc <= 100000; sc++) {
11
+ var rootHtml = getHtml('サイトのURL' + sc)
12
+
13
+ if (!rootHtml || rootHtml.length < 100000) {
14
+ Logger.log('no more page : ' + rootHtml)
15
+ break
16
+ }
17
+
18
+ // 1次元配列として取得
19
+ var si = 0;//ここ
20
+ for (; si < 10000; si++) {//ここ
21
+
22
+ // 商品画像URL
23
+ 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)
24
+ values[currentRowIndex - 2].push(itemUrl ? itemUrl.trim() : '該当データ無し')
25
+
26
+ // 商品画像
27
+ var i = si + 2
28
+ var itemImage = '=IMAGE(B' + parseInt(i) + ',4,100,50)'
29
+ values[currentRowIndex - 2].push(itemImage ? itemImage.trim() : '該当データ無し')
30
+
31
+      currentRowIndex++
32
+ }
33
+
34
+ ```