Browse Source

联调后台

cr 4 years ago
parent
commit
abb2e64028
9 changed files with 135 additions and 176 deletions
  1. 3 1
      app/controller/home.js
  2. 8 3
      app/service/get_goods.js
  3. 74 110
      cookie/cookie.json
  4. 1 1
      spider/login.js
  5. 1 13
      spider/tmall_get_list_data.js
  6. 15 39
      test.js
  7. 5 0
      test.txt
  8. 10 6
      tools/http-post.js
  9. 18 3
      tools/sku-data.js

+ 3 - 1
app/controller/home.js

@@ -179,7 +179,9 @@ class HomeController extends Controller {
179 179
         .then(res => {
180 180
           // saveFile(`goods.json`, JSON.stringify(res, null, 4), './output/goods/');
181 181
           console.log('获取多个商品详情成功');
182
-        });
182
+        }).catch(err => {
183
+          console.log('获取多个商品详情失败');
184
+        })
183 185
       data.success = true;
184 186
       data.message = '等待回调';
185 187
     } else {

+ 8 - 3
app/service/get_goods.js

@@ -6,6 +6,7 @@ const { baseData } = require('../../tools/base-data');
6 6
 const { skuData } = require('../../tools/sku-data');
7 7
 const login = require('../../spider/login');
8 8
 const { saveFile } = require('../../tools/save-file');
9
+const { httpPost } = require('../../tools/http-post');
9 10
 
10 11
 class getGoodDetailService extends Service {
11 12
 
@@ -25,12 +26,15 @@ class getGoodDetailService extends Service {
25 26
 
26 27
             async function eachUrl() {
27 28
 
28
-                const url = self.urls[self.index];
29
+                let url = self.urls[self.index];
30
+                if(url.indexOf('//') === 0){
31
+                    url = 'https:'+url;
32
+                }
29 33
             
30 34
                 goodDetailLogger.info(`开始获取详情:${url}`);
31 35
 
32 36
                 await driver.switchTo().newWindow('tab');
33
-                await driver.get('https://'+url);
37
+                await driver.get(url);
34 38
                 await driver.sleep(3000);
35 39
 
36 40
                 // 自动滚动 到 y=20000
@@ -97,7 +101,8 @@ class getGoodDetailService extends Service {
97 101
     }
98 102
 
99 103
     async callback(data) {
100
-        console.log(`完成:${data.title}`);
104
+        console.log(`发送后台完成:  ${data.title}`);
105
+        httpPost('/Migration/GetGoodDetailCallBack',data);
101 106
         saveFile(`${data.title}.json`, JSON.stringify(data, null, 4), './output/goods/');
102 107
     }
103 108
 

+ 74 - 110
cookie/cookie.json

@@ -1,38 +1,48 @@
1 1
 [
2 2
     {
3 3
         "domain": ".tmall.com",
4
-        "expiry": 1614675134,
4
+        "expiry": 1614680704,
5 5
         "httpOnly": false,
6
-        "name": "tfstk",
6
+        "name": "l",
7 7
         "path": "/",
8 8
         "secure": false,
9
-        "value": "c4BNB7tX7ReZoxpbwd9qhACmTCsOwtT2yv-yssY9e1WOnhfDbqK3AqKe0UeHs"
9
+        "value": "eBgy8EDqOsL7HdgDBO5ZPurza77tiIRb4sPzaNbMiInca6CFNFw-RNQ4HTh9ldtjgtCX7etr5xfW3RLHR3VcCU0ifdF-nHrE3xvO."
10 10
     },
11 11
     {
12
-        "domain": "list.tmall.com",
12
+        "domain": ".tmall.com",
13
+        "expiry": 1614680704,
13 14
         "httpOnly": false,
14
-        "name": "res",
15
+        "name": "tfstk",
15 16
         "path": "/",
16 17
         "secure": false,
17
-        "value": "scroll%3A1519*5419-client%3A1519*711-offset%3A1519*5419-screen%3A1536*865"
18
+        "value": "cRAcBNfrZKWbUwWkdj1XRdiYtxAGZFeVvCJeaQAvhu5ymCOPiNezLxaxrNKD6R1.."
18 19
     },
19 20
     {
20
-        "domain": ".tmall.com",
21
-        "expiry": 1614675134,
21
+        "domain": "lumn.tmall.com",
22
+        "expiry": 1601720703,
22 23
         "httpOnly": false,
23
-        "name": "l",
24
+        "name": "pnm_cku822",
24 25
         "path": "/",
25 26
         "secure": false,
26
-        "value": "eB_0f0ZuOsq93P_bBOfanurza77OSIRYYuPzaNbMiOCP90CB5J4CWZyv8qY6C3GVh6kvRuusn_92BeYBqQAonxvttBALurkmn"
27
+        "value": ""
28
+    },
29
+    {
30
+        "domain": ".tmall.com",
31
+        "httpOnly": true,
32
+        "name": "uc4",
33
+        "path": "/",
34
+        "sameSite": "None",
35
+        "secure": true,
36
+        "value": "nk4=0%40AgbxYJ9INhjQhPNK54DKNy4%3D&id4=0%40U2grGNp7s350SOTPb%2BaHY7EXvJ239nnL"
27 37
     },
28 38
     {
29
-        "domain": "list.tmall.com",
30
-        "expiry": 1601715134,
39
+        "domain": ".tmall.com",
31 40
         "httpOnly": false,
32
-        "name": "pnm_cku822",
41
+        "name": "_tb_token_",
33 42
         "path": "/",
34
-        "secure": false,
35
-        "value": "098%23E1hvRpvUvbpvUvCkvvvvvjiPnLchAj3EPsFpsjljPmP91jtURL5WsjDRRFMOzjrERphvChCvvvvCvpvVphhvvvvvKphv8hCvCEZvvhe0phvOvvvvpIxvpC9vvvC2UyCvVvvvvhnTphvOmvvvpzkEvpvVpyUUCCA4uphvmhCvCnViHawAmphvLhHVsvmFeeQ4b64B9CkaU6UsxI2h5C6AxsBCAfyp%2B3%2BFjomHff8rwkGaW4c6%2BulgEcYR1nvOe5inwy29%2B2Kz8Zl9ZRAn%2BbyDCcEmTWyPvpvhvv2MMTwCvvBvpvpZ"
43
+        "sameSite": "None",
44
+        "secure": true,
45
+        "value": "5fe0065b3fee7"
36 46
     },
37 47
     {
38 48
         "domain": ".tmall.com",
@@ -59,7 +69,7 @@
59 69
         "path": "/",
60 70
         "sameSite": "None",
61 71
         "secure": true,
62
-        "value": "1a90fcb04988b900c09059a31730aca6"
72
+        "value": "1c42177844636cc3248159da13468845"
63 73
     },
64 74
     {
65 75
         "domain": ".tmall.com",
@@ -68,7 +78,7 @@
68 78
         "path": "/",
69 79
         "sameSite": "None",
70 80
         "secure": true,
71
-        "value": "nk2=AGioONbo&lg2=W5iHLLyFOGW7aA%3D%3D&vt3=F8dCufXH8BiMNVfzsDc%3D&id2=UUphw2VSPKDoJSjKzw%3D%3D"
81
+        "value": "vt3=F8dCufXH8xuFNtxfnbo%3D&id2=UUphw2VSPKDoJSjKzw%3D%3D&lg2=URm48syIIVrSKA%3D%3D&nk2=AGioONbo"
72 82
     },
73 83
     {
74 84
         "domain": ".tmall.com",
@@ -77,63 +87,43 @@
77 87
         "path": "/",
78 88
         "sameSite": "None",
79 89
         "secure": true,
80
-        "value": "existShop=false&cookie16=UtASsssmPlP%2Ff1IHDsDaPRu%2BPw%3D%3D&cookie21=Vq8l%2BKCLjA%2Bl&pas=0&cookie14=UoTV5Y00TGloQA%3D%3D&cookie15=Vq8l%2BKCLz3%2F65A%3D%3D"
81
-    },
82
-    {
83
-        "domain": ".list.tmall.com",
84
-        "httpOnly": false,
85
-        "name": "res",
86
-        "path": "/",
87
-        "sameSite": "Lax",
88
-        "secure": true,
89
-        "value": "scroll%3A1019*6478-client%3A1019*675-offset%3A1019*6478-screen%3A1536*864"
90
-    },
91
-    {
92
-        "domain": ".list.tmall.com",
93
-        "expiry": 1914482989,
94
-        "httpOnly": false,
95
-        "name": "_med",
96
-        "path": "/",
97
-        "sameSite": "Lax",
98
-        "secure": true,
99
-        "value": "dw:1228.8&dh:692&pw:1536&ph:865&ist:0"
90
+        "value": "pas=0&cookie16=V32FPkk%2FxXMk5UvIbNtImtMfJQ%3D%3D&cookie15=V32FPkk%2Fw0dUvg%3D%3D&cookie21=U%2BGCWk%2F7pY%2FF&existShop=false&cookie14=UoTV5Y00R2Yyew%3D%3D"
100 91
     },
101 92
     {
102 93
         "domain": ".tmall.com",
103
-        "httpOnly": true,
104
-        "name": "sgcookie",
94
+        "httpOnly": false,
95
+        "name": "dnk",
105 96
         "path": "/",
106
-        "sameSite": "Lax",
97
+        "sameSite": "None",
107 98
         "secure": true,
108
-        "value": "EVUqFItUf0bj6SKWo6mZf"
99
+        "value": "cr_150"
109 100
     },
110 101
     {
111 102
         "domain": ".tmall.com",
112
-        "expiry": 2229843134,
113 103
         "httpOnly": false,
114
-        "name": "cna",
104
+        "name": "t",
115 105
         "path": "/",
116 106
         "sameSite": "None",
117 107
         "secure": true,
118
-        "value": "uZzXFx/7rVgCATz/5/mSn7qI"
108
+        "value": "ca89363f3b36283deee03d4b1c73011e"
119 109
     },
120 110
     {
121 111
         "domain": ".tmall.com",
122 112
         "httpOnly": false,
123
-        "name": "login",
113
+        "name": "_nk_",
124 114
         "path": "/",
125 115
         "sameSite": "None",
126 116
         "secure": true,
127
-        "value": "true"
117
+        "value": "cr_150"
128 118
     },
129 119
     {
130 120
         "domain": ".tmall.com",
131
-        "expiry": 1614675134,
121
+        "expiry": 1614680703,
132 122
         "httpOnly": false,
133 123
         "name": "isg",
134 124
         "path": "/",
135 125
         "secure": false,
136
-        "value": "BJWVwBRNZoQtSEJ4KVOPXcB6pJFPkkmkV2xfORc6UYxbbrVg3-JZdKMsPHJY9WFc"
126
+        "value": "BDw8QNl0T5_WTHvDAtREjenNDdruNeBfJvOG4ha9zScK4dxrPkWz7kzTxQmZqRi3"
137 127
     },
138 128
     {
139 129
         "domain": ".tmall.com",
@@ -146,141 +136,115 @@
146 136
     },
147 137
     {
148 138
         "domain": ".tmall.com",
149
-        "httpOnly": false,
150
-        "name": "dnk",
139
+        "httpOnly": true,
140
+        "name": "cookie17",
151 141
         "path": "/",
152 142
         "sameSite": "None",
153 143
         "secure": true,
154
-        "value": "cr_150"
144
+        "value": "UUphw2VSPKDoJSjKzw%3D%3D"
155 145
     },
156 146
     {
157 147
         "domain": ".tmall.com",
158
-        "httpOnly": false,
159
-        "name": "t",
148
+        "httpOnly": true,
149
+        "name": "cookie1",
160 150
         "path": "/",
161 151
         "sameSite": "None",
162 152
         "secure": true,
163
-        "value": "e0b1ea2c43dc88bbee67f47020f41362"
153
+        "value": "UoYY5pPX%2F4qYXmjLO4nDTKvKkulnxBNok4hiG9327QA%3D"
164 154
     },
165 155
     {
166 156
         "domain": ".tmall.com",
167
-        "httpOnly": false,
168
-        "name": "_nk_",
157
+        "expiry": 1914241563,
158
+        "httpOnly": true,
159
+        "name": "enc",
169 160
         "path": "/",
170
-        "sameSite": "None",
161
+        "sameSite": "Lax",
171 162
         "secure": true,
172
-        "value": "cr_150"
163
+        "value": "MaT95uFYDGynG8cKXSw0DhPeUMNmbBVzDipL%2BsJ2d6OJdKtPAq76bQ3M3qnP0mrcY3kAYns9SfO5dl7OBx4G10EDU9wbzUPYWltFX6V4irM%3D"
173 164
     },
174 165
     {
175 166
         "domain": ".tmall.com",
176
-        "expiry": 1630687933,
167
+        "expiry": 1599209128,
177 168
         "httpOnly": false,
178
-        "name": "lid",
169
+        "name": "xlly_s",
179 170
         "path": "/",
180
-        "sameSite": "None",
171
+        "sameSite": "Lax",
181 172
         "secure": true,
182
-        "value": "cr_150"
173
+        "value": "1"
183 174
     },
184 175
     {
185 176
         "domain": ".tmall.com",
186
-        "httpOnly": true,
187
-        "name": "cookie17",
177
+        "httpOnly": false,
178
+        "name": "csg",
188 179
         "path": "/",
189 180
         "sameSite": "None",
190 181
         "secure": true,
191
-        "value": "UUphw2VSPKDoJSjKzw%3D%3D"
182
+        "value": "c347b6b9"
192 183
     },
193 184
     {
194 185
         "domain": ".tmall.com",
195 186
         "httpOnly": false,
196
-        "name": "_tb_token_",
187
+        "name": "tracknick",
197 188
         "path": "/",
198 189
         "sameSite": "None",
199 190
         "secure": true,
200
-        "value": "7e7986d35e68a"
191
+        "value": "cr_150"
201 192
     },
202 193
     {
203 194
         "domain": ".tmall.com",
204
-        "httpOnly": true,
205
-        "name": "uc4",
195
+        "httpOnly": false,
196
+        "name": "login",
206 197
         "path": "/",
207 198
         "sameSite": "None",
208 199
         "secure": true,
209
-        "value": "nk4=0%40AgbxYJ9INhjQhPNK54tsnbI%3D&id4=0%40U2grGNp7s350SOTPb%2BaHY7EXvJ28jK%2Fk"
200
+        "value": "true"
210 201
     },
211 202
     {
212 203
         "domain": ".tmall.com",
213
-        "expiry": 1914241563,
214
-        "httpOnly": true,
215
-        "name": "enc",
216
-        "path": "/",
217
-        "sameSite": "Lax",
218
-        "secure": true,
219
-        "value": "MaT95uFYDGynG8cKXSw0DhPeUMNmbBVzDipL%2BsJ2d6OJdKtPAq76bQ3M3qnP0mrcY3kAYns9SfO5dl7OBx4G10EDU9wbzUPYWltFX6V4irM%3D"
220
-    },
221
-    {
222
-        "domain": "list.tmall.com",
223
-        "expiry": 1914483134,
204
+        "expiry": 2229848698,
224 205
         "httpOnly": false,
225
-        "name": "_med",
226
-        "path": "/",
227
-        "secure": false,
228
-        "value": "dw:1536&dh:865&pw:1920&ph:1081.25&ist:0"
229
-    },
230
-    {
231
-        "domain": ".tmall.com",
232
-        "httpOnly": true,
233
-        "name": "cookie1",
206
+        "name": "cna",
234 207
         "path": "/",
235 208
         "sameSite": "None",
236 209
         "secure": true,
237
-        "value": "UoYY5pPX%2F4qYXmjLO4nDTKvKkulnxBNok4hiG9327QA%3D"
210
+        "value": "ebLXF7351nwCATz/5/maVKrZ"
238 211
     },
239 212
     {
240 213
         "domain": ".tmall.com",
241
-        "expiry": 1599209128,
242
-        "httpOnly": false,
243
-        "name": "xlly_s",
214
+        "httpOnly": true,
215
+        "name": "sgcookie",
244 216
         "path": "/",
245 217
         "sameSite": "Lax",
246 218
         "secure": true,
247
-        "value": "1"
219
+        "value": "EjcgFvxRgaK7bqlyMzg6M"
248 220
     },
249 221
     {
250 222
         "domain": ".tmall.com",
251 223
         "httpOnly": false,
252
-        "name": "csg",
224
+        "name": "_l_g_",
253 225
         "path": "/",
254 226
         "sameSite": "None",
255 227
         "secure": true,
256
-        "value": "2a0f3720"
228
+        "value": "Ug%3D%3D"
257 229
     },
258 230
     {
259 231
         "domain": ".tmall.com",
232
+        "expiry": 1630693503,
260 233
         "httpOnly": false,
261
-        "name": "tracknick",
234
+        "name": "lid",
262 235
         "path": "/",
263 236
         "sameSite": "None",
264 237
         "secure": true,
265 238
         "value": "cr_150"
266 239
     },
267 240
     {
268
-        "domain": ".tmall.com",
269
-        "httpOnly": false,
270
-        "name": "_l_g_",
271
-        "path": "/",
272
-        "sameSite": "None",
273
-        "secure": true,
274
-        "value": "Ug%3D%3D"
275
-    },
276
-    {
277
-        "domain": ".list.tmall.com",
278
-        "expiry": 1601515957,
241
+        "domain": ".lumn.tmall.com",
242
+        "expiry": 1601717040,
279 243
         "httpOnly": false,
280 244
         "name": "pnm_cku822",
281 245
         "path": "/",
282 246
         "sameSite": "Lax",
283 247
         "secure": true,
284
-        "value": "098%23E1hvZpvUvbpvUpCkvvvvvjiPnLLyAj3CRLS9AjrCPmPWsj1hRsFpsj1ER25WsjnbR9GCvvLMMQvvvphvC9mvphvvvbyCvmFMM6CYMMMYp9vvBhgvvvHBvvC8o9vv9Dvvvhi8vvmmPvvvBHgvvUVouphvmvvvpLZabLRJkphvC9hvpyP9lvyCvhQmQNj1jaoK5F%2FAVAdWaB4AdX3sbSoxdX9fdeO2fwo4d34AVAdZaXgM%2Bul1p57Q%2Bu0O5C69D70Oeug7Ecqhs8TJVXilZtxreEuKHkx%2FRphvCvvvphm5vpvhvvCCBv%3D%3D"
248
+        "value": ""
285 249
     }
286 250
 ]

+ 1 - 1
spider/login.js

@@ -83,7 +83,7 @@ async function login(opts = {}) {
83 83
 // 自动登录
84 84
 async function autoLogin(driver) {
85 85
 
86
-    await driver.get('https://login.taobao.com/member/login.jhtml?tpl_redirect_url=https%3A%2F%2Flist.tmall.com%2Fsearch_product.htm%3Fq%3D41%26imgfile%3D%26commend%3Dall%26ssid%3Ds5-e%26search_type%3Dtmall%26sourceId%3Dtb.index%26spm%3Da21bo.2017.201856-taobao-item.1%26ie%3Dutf8%26initiative_id%3Dtbindexz_20170306&style=miniall&enup=true&newMini2=true&full_redirect=true&sub=true&from=tmall&allp=assets_css%3D3.0.10/login_pc.css&pms=1598880835545');
86
+    await driver.get('https://login.taobao.com/member/login.jhtml?tpl_redirect_url=https%3A%2F%2Flumn.tmall.com%2Fsearch.htm%3Fspm%3Da1z10.3-b-s.w5002-15438998724.1.48a63b51L03f6W%26search%3Dy&style=miniall&enup=true&newMini2=true&full_redirect=true&sub=true&from=tmall&allp=assets_css%3D3.0.10/login_pc.css&pms=1599124573437');
87 87
 
88 88
     // 检测登录框
89 89
     await driver.wait(webdriver.until.elementLocated(webdriver.By.xpath('//*[@id="fm-login-id"]')), 60000, '未检测到登录框');

+ 1 - 13
spider/tmall_get_list_data.js

@@ -6,8 +6,6 @@ function tmallGetListData(htmlStr) {
6 6
 
7 7
     let $ = cheerio.load(htmlStr);
8 8
     let list = $('#J_ShopSearchResult .J_TItems>div');
9
-    console.log(`开始获取列表: 共${list.length}个数据`)
10
-
11 9
     for (var i = 0; i < list.length; i++) {
12 10
         const item = list[i];
13 11
         // 遇到分页直接停止,分页后面是推荐的
@@ -26,17 +24,7 @@ function tmallGetListData(htmlStr) {
26 24
             });
27 25
         }
28 26
     }
29
-    // list.splice(list.length - 8);
30
-    // list.each((i, e) => {
31
-    //     const title = $(e).find('.item-name').text();
32
-    //     const img = $(e).find('.photo img').attr('src');
33
-    //     const url = $(e).find('.item-name').attr('href');
34
-    //     const id = url.replace(/(.+id=)(\d+)(&.+)/igm, '$2');
35
-    //     const obj = {
36
-    //         title, img, url, id
37
-    //     }
38
-    //     goodsArr.push(obj)
39
-    // });
27
+    console.log(`列表获取完成: 共${goodsArr.length}个数据`)
40 28
     return goodsArr;
41 29
 }
42 30
 

+ 15 - 39
test.js

@@ -1,43 +1,19 @@
1
-var http = require('http');
2
-var querystring = require('querystring');
3
-var data = [
4
-    {
5
-        "title": "施耐德电气墙壁电源开关插座附件防水面板盖防水盒 防溅盒E223DV ",
6
-        "img": "//img.alicdn.com/bao/uploaded/i1/1132886103/TB1jabhklcHL1JjSZFBXXaiGXXa_!!0-item_pic.jpg_180x180.jpg",
7
-        "url": "//detail.tmall.com/item.htm?id=17369050091&rn=ce41efca7f7d5fcd10332095b5dba323&abbucket=8",
8
-        "id": "17369050091"
9
-    },
10
-    {
11
-        "title": "施耐德电气开关插座面板一开二三插四极五孔插座单联双控 如意白 ",
12
-        "img": "//img.alicdn.com/bao/uploaded/i2/1132886103/O1CN01JCELj31uxDgCq5xQb_!!0-item_pic.jpg_180x180.jpg",
13
-        "url": "//detail.tmall.com/item.htm?id=17784266184&rn=ce41efca7f7d5fcd10332095b5dba323&abbucket=8",
14
-        "id": "17784266184"
15
-    }
16
-];
17 1
 
18
-var post_data = JSON.stringify(data);
19
-console.log(post_data,'111');
2
+// 后台列表保存测试
20 3
 
21
-var options = {
22
-    host: 'xcx.chuangzhikeji.com',
23
-    port: 80,
24
-    path: '/Product/GetGoodListCallBack',
25
-    method: 'POST',
26
-    headers:{
27
-        'Content-Type':'application/json'
28
-    }
29
-};
4
+// const fs = require('fs');
5
+// const { httpPost } = require('./tools/http-post');
6
+// // 判断是否有cookie
7
+// const arr = fs.readFileSync('./output/goodList/goodList.json', 'utf8');
8
+// let arr2 = JSON.parse(arr)
9
+// console.log(arr2.length);
10
+// httpPost('/Migration/GetGoodListCallBack', arr2)
30 11
 
31 12
 
32
-var req = http.request(options, function (res) {
33
-    console.log('STATUS: ' + res.statusCode);
34
-    console.log('HEADERS: ' + JSON.stringify(res.headers));
35
-    res.setEncoding('utf8');
36
-    res.on('data', function (chunk) {
37
-        console.log('BODY: ' + chunk);
38
-    });
39
-});
40
-
41
-// write data to request body
42
-req.write(post_data);
43
-req.end();
13
+const fs = require('fs');
14
+const { httpPost } = require('./tools/http-post');
15
+// 判断是否有cookie
16
+const obj = fs.readFileSync('./output/goods/a.json', 'utf8');
17
+let obj2 = JSON.parse(obj)
18
+console.log(obj2.length);
19
+httpPost('/Migration/GetGoodDetailCallBack', obj2)

+ 5 - 0
test.txt

@@ -23,5 +23,10 @@ http://127.0.0.1:7001/getGoodDetail?url=https%3A%2F%2Fdetail.tmall.com%2Fitem.ht
23 23
 http://127.0.0.1:7001/getGoodList?url=https%3A%2F%2Fdetail.tmall.com%2Fitem.htm%3Fspm%3Da220m.1000858.1000725.36.4d3457ddDpsZdy%26id%3D611982420654%26skuId%3D4312674497656%26user_id%3D468175467%26cat_id%3D2%26is_b%3D1%26rn%3Db64961bddcea2b495376d2428795e257
24 24
 
25 25
 
26
+// 请求多商品详情
27
+http://127.0.0.1:7001/getGoods
28
+[
29
+	"https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-15438998729.282.b3c13b519I24yH&id=594298803350&rn=4d154b9e4f2063b310447791cb1a430b&abbucket=19"
30
+]
26 31
 
27 32
 /getGoods     post请求 

+ 10 - 6
tools/http-post.js

@@ -20,12 +20,16 @@ function httpPost(path,data){
20 20
     
21 21
     
22 22
     var req = http.request(options, function (res) {
23
-        console.log('STATUS: ' + res.statusCode);
24
-        console.log('HEADERS: ' + JSON.stringify(res.headers));
25
-        res.setEncoding('utf8');
26
-        res.on('data', function (chunk) {
27
-            console.log('BODY: ' + chunk);
28
-        });
23
+        if(res.statusCode === 200){
24
+            console.log('发送后台数据成功')
25
+        }else{
26
+            console.log('STATUS: ' + res.statusCode);
27
+            console.log('HEADERS: ' + JSON.stringify(res.headers));
28
+            res.setEncoding('utf8');
29
+            res.on('data', function (chunk) {
30
+                console.log('BODY: ' + chunk);
31
+            });
32
+        }
29 33
     });
30 34
     
31 35
     // write data to request body

+ 18 - 3
tools/sku-data.js

@@ -10,7 +10,8 @@ const { saveFile } = require('./save-file');
10 10
  */
11 11
 function skuData(driver) {
12 12
 
13
-    let sku = [];
13
+    let sku = [];   // 输出用
14
+    let codeSku = [];   // 代码用
14 15
 
15 16
     return new Promise(async (resolve, reject) => {
16 17
 
@@ -23,7 +24,13 @@ function skuData(driver) {
23 24
             const list = await item.findElements(webdriver.By.tagName("li:not(.tb-out-of-stock)"));
24 25
             let obj = {
25 26
                 title,
26
-                list: []
27
+                list: [],
28
+            }
29
+            let objCode = {
30
+                title,
31
+                list: [],
32
+                index:0,
33
+                num:list.length
27 34
             }
28 35
             for (let item2 of list) {
29 36
                 const nameEle = await item2.findElement(webdriver.By.tagName('span'))
@@ -33,13 +40,21 @@ function skuData(driver) {
33 40
                 img = img ? img.replace(/(.+)\(([^\>)]+)\)(.+)/igm, '$2') : '';
34 41
                 const itemObj = {
35 42
                     title: name,
36
-                    img
43
+                    img,
44
+                }
45
+                const itemObjCode = {
46
+                    title: name,
47
+                    img,
48
+                    ele:item
37 49
                 }
38 50
                 obj.list.push(itemObj)
51
+                objCode.list.push(itemObjCode)
39 52
 
40 53
             }
41 54
             sku.push(obj);
55
+            codeSku.push(objCode);
42 56
         }
57
+        
43 58
 
44 59
         resolve(sku);
45 60