shopee 0.0.4 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/Gemfile +3 -1
- data/README.md +224 -31
- data/bin/shopee +29 -7
- data/lib/shopee/version.rb +2 -2
- data/lib/shopee.rb +82 -21
- data/spec/fixtures/vcr_cassettes/shopee.yml +1930 -593
- data/spec/shopee_spec.rb +10 -10
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 22604eafa589c9f99893438843dc7310e33b0b73
|
4
|
+
data.tar.gz: 4360c0bb56b354ef5a3d84cd2fab2ab29776be66
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6af0698b3f83bdcc46085e144499e149e3374d6f7ba41c48e53efc1b807586c3e27482f7b13e577f79b1af3f6c809bdae2c22f92e620c713548043c2bfba1ed5
|
7
|
+
data.tar.gz: 8a8e6d28e15a1ae251cbc251e092db01ea0e76bf31c0243a8ac948a395a970fc734309e5d4cbb20a6c2fd2a3bf74bfa73d423bb8e25214633186e9a1fb58f37d
|
data/.gitignore
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -7,50 +7,243 @@ Scrape informations from
|
|
7
7
|
[](https://travis-ci.org/Smartibuy/shopee)
|
8
8
|
[](https://badge.fury.io/rb/shopee)
|
9
9
|
|
10
|
-
|
11
|
-
|
10
|
+
Get started
|
11
|
+
==
|
12
|
+
### Install ruby gem!
|
12
13
|
```
|
13
14
|
$ gem install shopee
|
14
15
|
```
|
15
16
|
|
16
|
-
|
17
|
+
### Supported CLI
|
18
|
+
|
17
19
|
```
|
18
|
-
|
20
|
+
## 1. List all categories of market of Mobile01
|
21
|
+
$ shopee allcate
|
22
|
+
|
23
|
+
## 2. List top 30 goods by a category
|
24
|
+
$ shopee list [category_name]
|
25
|
+
|
26
|
+
## 3. Find top 3 goods in a category by the keyword
|
27
|
+
$ shopee search [category_name] [keyword]
|
28
|
+
|
19
29
|
```
|
20
30
|
|
21
|
-
- Usage
|
22
|
-
```ruby
|
23
|
-
require 'shopee_scrap'
|
24
|
-
scraper = ShopeeTileScrape::ShopeeTile.new
|
25
|
-
category_arr = JSON.parse(scraper.titles)
|
26
31
|
|
27
|
-
|
28
|
-
|
32
|
+
### Usage
|
33
|
+
**1. List all categories of market of Mobile01**
|
34
|
+
```ruby
|
35
|
+
require 'shopee'
|
36
|
+
shopeecate = ShopeeScrape::ShopeeListAll.new
|
37
|
+
category_arr shopeecate.get_categories
|
38
|
+
category_arr.each do |e|
|
39
|
+
puts e
|
29
40
|
end
|
30
41
|
```
|
31
42
|
|
32
43
|
- Expected output
|
33
44
|
```
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
45
|
+
電腦資訊
|
46
|
+
桌上型電腦
|
47
|
+
核心組件
|
48
|
+
儲存裝置
|
49
|
+
顯示設備
|
50
|
+
網路設備
|
51
|
+
電腦周邊設備
|
52
|
+
機殼、散熱與電源
|
53
|
+
電腦軟體與書籍
|
54
|
+
耗材、線材與雜項
|
55
|
+
筆記型電腦
|
56
|
+
筆記型電腦周邊
|
57
|
+
平板電腦
|
58
|
+
蘋果電腦
|
59
|
+
蘋果電腦周邊
|
60
|
+
其它
|
61
|
+
手持通訊
|
62
|
+
手機
|
63
|
+
Android
|
64
|
+
iPhone
|
65
|
+
Windows Phone
|
66
|
+
其他類型
|
67
|
+
手機配件與吊飾
|
68
|
+
家用電話
|
69
|
+
傳真、影印與事務機
|
70
|
+
通訊週邊與耗材
|
71
|
+
GPS
|
72
|
+
攝影器材
|
73
|
+
攝影機
|
74
|
+
傳統底片相機
|
75
|
+
消費級數位相機
|
76
|
+
數位單眼相機
|
77
|
+
相機其他周邊
|
78
|
+
相機鏡頭
|
79
|
+
攝影背包
|
80
|
+
數位相機電池
|
81
|
+
數位相機充電器
|
82
|
+
記憶卡與行動相簿
|
83
|
+
相片印表機與數位相框
|
84
|
+
數位家電
|
85
|
+
電視機
|
86
|
+
音響與隨身聽
|
87
|
+
影音設備周邊
|
88
|
+
投影機與布幕
|
89
|
+
生活小家電
|
90
|
+
廚房小家電
|
91
|
+
淨水設備
|
92
|
+
健康與美容小家電
|
93
|
+
冰箱
|
94
|
+
洗衣與乾衣機
|
95
|
+
冷氣空調
|
96
|
+
休閒娛樂
|
97
|
+
電玩主機
|
98
|
+
電玩遊戲
|
99
|
+
動漫電玩週邊
|
100
|
+
電腦與線上遊戲
|
101
|
+
懷舊童玩
|
102
|
+
遙控模型
|
103
|
+
金屬與鐵道模型
|
104
|
+
益智遊戲
|
105
|
+
玩具與模型
|
106
|
+
書籍雜誌
|
107
|
+
電視電影
|
108
|
+
音樂歌曲
|
109
|
+
生活用品
|
110
|
+
名產美食
|
111
|
+
運動健身綜合
|
112
|
+
休閒旅遊
|
113
|
+
鐘錶名品
|
114
|
+
生活居家
|
115
|
+
寵物用品
|
116
|
+
汽車
|
117
|
+
轎車、跑車
|
118
|
+
休旅車
|
119
|
+
貨車、其他車種
|
120
|
+
汽車用品
|
121
|
+
汽車精品
|
122
|
+
美容清潔
|
123
|
+
油品
|
124
|
+
其他汽車用品
|
125
|
+
影音設備
|
126
|
+
汽車零件
|
127
|
+
車燈
|
128
|
+
輪胎、鋁圈
|
129
|
+
底盤系統
|
130
|
+
電機、冷卻系統
|
131
|
+
煞車系統
|
132
|
+
空力套件
|
133
|
+
引擎、傳動與其它
|
134
|
+
機車
|
135
|
+
機車騎士用品
|
136
|
+
機車用品
|
137
|
+
機車零組件
|
138
|
+
自行車
|
139
|
+
公路車
|
140
|
+
登山車
|
141
|
+
小徑與摺疊車
|
142
|
+
休閒與通勤車
|
143
|
+
人身部品
|
144
|
+
安全帽
|
145
|
+
車衣、車褲
|
146
|
+
其它人身部品
|
147
|
+
自行車用品
|
148
|
+
車燈、碼表
|
149
|
+
收納袋、車袋
|
150
|
+
清潔保養用品
|
151
|
+
其它周邊配件
|
152
|
+
自行車零件
|
153
|
+
車架、前叉、避震器
|
154
|
+
龍頭、車把
|
155
|
+
煞車、變速系統零件
|
156
|
+
輪組、內外胎
|
157
|
+
座墊、座管
|
158
|
+
其它車用零件
|
159
|
+
男性時尚
|
160
|
+
服飾與襯衫
|
161
|
+
外套與夾克
|
162
|
+
男用長短褲
|
163
|
+
男用鞋與靴
|
164
|
+
男性內衣褲襪
|
165
|
+
男性飾品與配件
|
166
|
+
女性流行
|
167
|
+
彩妝與保養
|
168
|
+
嬰幼童與母親
|
169
|
+
流行女裝
|
170
|
+
女性飾品與配件
|
171
|
+
女鞋
|
172
|
+
女性內衣
|
173
|
+
代購與虛擬物品
|
174
|
+
3C物品代購
|
175
|
+
動漫電玩代購
|
176
|
+
服飾配件代購
|
177
|
+
其他物品代購
|
178
|
+
手機門號/加值/預付卡
|
179
|
+
遊戲點卡/虛寶
|
180
|
+
票卷
|
181
|
+
房屋地產
|
182
|
+
北部地區
|
183
|
+
中部地區
|
184
|
+
南部地區
|
185
|
+
東部與外島地區
|
186
|
+
```
|
187
|
+
|
188
|
+
|
189
|
+
**2. List top 30 goods by a category**
|
190
|
+
```ruby
|
191
|
+
require 'shopee'
|
192
|
+
##Example :category is '電腦資訊'
|
193
|
+
category_name = '電腦資訊'
|
194
|
+
shopeecate = ShopeeScrape::ShopeeListGoodsByCate.new(category_name)
|
195
|
+
puts shopeecate.goods
|
196
|
+
```
|
197
|
+
|
198
|
+
- Expected output
|
199
|
+
```
|
200
|
+
|
201
|
+
##Example : category is '電腦資訊'
|
202
|
+
|
203
|
+
{"name"=>"CM STORM SIRUS-C 天狼星 耳機麥克風 瞳(冰心淚) (60) 商品所在地:台北市", "price"=>" 3,500元", "num"=>"4", "update_time"=>"2015-11-15"}
|
204
|
+
{"name"=>"極新 Intel 535系列 240G M.2 SATA zounglun (14) 商品所在地:台北市", "price"=>" 7,500元", "num"=>"9", "update_time"=>"2015-11-15"}
|
205
|
+
{"name"=>"iPad mini2 16G 4G版 太空灰 夢幻之尊1 (7) 商品所在地:新竹市", "price"=>" 9,500元", "num"=>"3", "update_time"=>"2015-11-15"}
|
206
|
+
{"name"=>"IPad air 16G LTE timleetw1 (50) 商品所在地:新北市", "price"=>" 11,000元", "num"=>"0", "update_time"=>"2015-11-15"}
|
207
|
+
{"name"=>"Sony平版 Z3 Tablet Compacth LTE sim卡 by670917 (26) 商品所在地:基隆市", "price"=>"3,550元 4,000元", "num"=>"2", "update_time"=>"2015-11-15"}
|
208
|
+
{"name"=>"ASUS MB169B+ 外接式螢幕 ( 15.6 \") angel660209 (0) 商品所在地:新北市", "price"=>" 25,000元", "num"=>"1", "update_time"=>"2015-11-15"}
|
209
|
+
{"name"=>"2011 Apple MacBook Pro 13吋 /i5/16G/878GB hl_hl (5) 商品所在地:新北市", "price"=>" 12,000元", "num"=>"3", "update_time"=>"2015-11-15"}
|
210
|
+
{"name"=>"iPad Air Wi-Fi + Cellular(4G/LTE) 32GB 銀色 setry (1) 商品所在地:台北市", "price"=>" 38,000元", "num"=>"2", "update_time"=>"2015-11-15"}
|
211
|
+
{"name"=>"全新未拆 Macbook Pro Retina i5 2.7GHz/8G/128/2015年新款 daniel6060 (37) 商品所在地:台北市", "price"=>" 13,990元", "num"=>"0", "update_time"=>"2015-11-15"}
|
212
|
+
{"name"=>"SONY I5四核心執行續+8G大容量記憶體+獨顯1G+硬碟500G+藍光機+原廠充電器 安康-Mr.詹 (1) 商品所在地:新北市 (可交換商品)", "price"=>" 19,500元", "num"=>"0", "update_time"=>"2015-11-15"}
|
213
|
+
{"name"=>"104年7月購入 Surface 3 4gRam 128gRom 已貼玻璃貼附紅色鍵盤+觸控筆 baggio (25) 商品所在地:台北市", "price"=>" 1,700元", "num"=>"3", "update_time"=>"2015-11-15"}
|
214
|
+
{"name"=>"優派ViewSonic 19吋 VA1938wa-LED背光液晶 perryhsiao198... (1) 商品所在地:台北市", "price"=>"47,000元 48,800元", "num"=>"1", "update_time"=>"2015-11-15"}
|
215
|
+
{"name"=>"UX501JW-0352A4720HQ 512G SSD最高階版本 劉羿呈 (0) 商品所在地:新北市", "price"=>" 1,100元", "num"=>"0", "update_time"=>"2015-11-15"}
|
216
|
+
{"name"=>"電腦主機+Benq螢幕『內含系統與Office/適合小朋友使用 安康-Mr.詹 (1) 商品所在地:新北市 (可交換商品)", "price"=>"20,000元 21,000元", "num"=>"8", "update_time"=>"2015-11-15"}
|
217
|
+
{"name"=>"Lenovo T530 i7-3630QM真四核筆電 Rainbowsky (28) 商品所在地:宜蘭縣 (可交換商品)", "price"=>" 7,700元", "num"=>"2", "update_time"=>"2015-11-15"}
|
218
|
+
{"name"=>"Acer 4743G I5-520M/Win10/4G/SSD+320G HDD/GT540M獨顯/14... a82820a (9) 商品所在地:台北市", "price"=>" 80元", "num"=>"0", "update_time"=>"2015-11-15"}
|
219
|
+
{"name"=>"APPLE 蘋果 筆記型電腦 鍵盤膜 MacBook Air Pro 13.3吋 15.4吋 超薄 TP... gf0902 (10) 商品所在地:台中市", "price"=>" 80元", "num"=>"0", "update_time"=>"2015-11-15"}
|
220
|
+
{"name"=>"APPLE 蘋果 筆記型電腦 鍵盤膜 MacBook Air Pro 11 超薄 TPU保護膜 gf0902 (10) 商品所在地:台中市", "price"=>"500元 1,000元", "num"=>"0", "update_time"=>"2015-11-15"}
|
221
|
+
{"name"=>"超誇張100元起 D-Link友訊 DIR-820L 802.11ac AC1200 雙頻無線路由器 o680680o (3) 商品所在地:新北市", "price"=>"4,700元 9,000元", "num"=>"2", "update_time"=>"2015-11-15"}
|
222
|
+
{"name"=>"Lenovo Yoga Table2 小海龜 (52) 商品所在地:桃園市", "price"=>" 15,000元", "num"=>"1", "update_time"=>"2015-11-15"}
|
223
|
+
{"name"=>"【手機玩家】IPHONE6 16G金外觀約九成新保固至2016-7月 Anycall0314 (49) 商品所在地:新竹市", "price"=>" 6,000元", "num"=>"0", "update_time"=>"2015-11-15"}
|
224
|
+
{"name"=>"1U 機架型ATOM主機 雙LAN kahnmao (60) 商品所在地:新北市", "price"=>"20,000元 25,000元", "num"=>"0", "update_time"=>"2015-11-15"}
|
225
|
+
{"name"=>"2013年中 13吋 Macbook air [A1466] wpchang (0) 商品所在地:台北市 (可交換商品)", "price"=>" 6,200元", "num"=>"1", "update_time"=>"2015-11-15"}
|
226
|
+
{"name"=>"極新保固中ASUS RT-AC87U AC2400華碩雙頻無線路由器(2.4/5GHz) cham3130n (1) 商品所在地:台北市", "price"=>" 12,000元", "num"=>"3", "update_time"=>"2015-11-15"}
|
227
|
+
{"name"=>"Surface Pro 1 鍵盤、觸控筆 dih0512 (6) 商品所在地:桃園市 (可交換商品)", "price"=>" 50元", "num"=>"0", "update_time"=>"2015-11-15"}
|
228
|
+
{"name"=>"(11/15到貨) 創見 DDR 400 1G 桌上型記憶體 功能正常良品 $50元/1支 QQ\"嘿 (71) 商品所在地:桃園市", "price"=>"5,500元 6,000元", "num"=>"0", "update_time"=>"2015-11-15"}
|
229
|
+
{"name"=>"賣99.99新黑色ASUS MeMO Pad 7 (ME572CL) 2GB/16GB LTE 星空下的雨 (31) 商品所在地:新北市 (可交換商品)", "price"=>" 10,500元", "num"=>"2", "update_time"=>"2015-11-15"}
|
230
|
+
{"name"=>"Synology DS1511+ 5 bay 專為中小型企業設計的高效能 NAS 伺服器 dg4838 (13) 商品所在地:台北市", "price"=>" 2,700元", "num"=>"2", "update_time"=>"2015-11-15"}
|
231
|
+
{"name"=>"全新未拆 羅技MX Master fervidity (5) 商品所在地:台中市 (可交換商品)", "price"=>"9,500元 10,000元", "num"=>"0", "update_time"=>"2015-11-15"}
|
232
|
+
{"name"=>"賣 99.99 新Samsung Galaxy Tab S 8.4 白3G/16G LTE ( 可通話平... 星空下的雨 (31) 商品所在地:新北市 (可交換商品)", "price"=>nil, "num"=>nil, "update_time"=>nil}
|
233
|
+
```
|
234
|
+
**3. Find top 3 goods in a category by the keyword**
|
235
|
+
```ruby
|
236
|
+
require 'shopee'
|
237
|
+
##Example :category is '電腦資訊'; keyword is 'samsung'
|
238
|
+
cshopeecate = ShopeeScrape::ShopeeListGoodsByCate.new(category)
|
239
|
+
goods = shopeecate.goods
|
240
|
+
puts shopeecate.search_keyword(goods, keyword)
|
241
|
+
```
|
242
|
+
- Expected output
|
243
|
+
```
|
244
|
+
{"name"=>"Samsung GALAXY Tab4 7.0 LTE (未拆封) 只接受面交 價格可再議 schumark (0) 商品所在地:台中市", "price"=>" 5,800元", "num"=>"0", "update_time"=>"2015-11-16"}
|
245
|
+
{"name"=>"賣 99.99 新Samsung Galaxy Tab S 8.4 白3G/16G LTE ( 可通話平... 星空下的雨 (31) 商品所在地:新北市 (可交換商品)", "price"=>" 1,000元", "num"=>"4", "update_time"=>"2015-11-16"}
|
246
|
+
{"name"=>"Samsung Tab S 8.4 WIFI 黑金 極新無傷 保固至明年4月 附購買證明 s2.mini... 153013 (11) 商品所在地:桃園市 (可交換商品)", "price"=>" 4,600元", "num"=>"1", "update_time"=>"2015-11-16"}
|
54
247
|
```
|
55
248
|
|
56
249
|
## License
|
data/bin/shopee
CHANGED
@@ -11,14 +11,36 @@ Commander.configure do
|
|
11
11
|
program :version, '0.0.4'
|
12
12
|
program :description, 'Scrape informations from Mobile01'
|
13
13
|
|
14
|
-
command :
|
15
|
-
|
16
|
-
|
14
|
+
command :list do |c|
|
15
|
+
c.syntax = 'shopee list [args]'
|
16
|
+
c.description = 'List goods by the category'
|
17
17
|
|
18
|
-
|
19
|
-
|
20
|
-
|
18
|
+
c.action do |args, options|
|
19
|
+
shopeecate = ShopeeScrape::ShopeeListGoodsByCate.new(args[0])
|
20
|
+
puts shopeecate.goods
|
21
|
+
end
|
21
22
|
end
|
22
|
-
|
23
|
+
|
24
|
+
command :allcate do |c|
|
25
|
+
c.syntax = 'shopee allcate '
|
26
|
+
c.description = 'List all categories'
|
27
|
+
|
28
|
+
c.action do |args, options|
|
29
|
+
shopeecate = ShopeeScrape::ShopeeListAll.new
|
30
|
+
puts shopeecate.get_categories
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
command :search do |c|
|
35
|
+
c.syntax = 'shopee search [args]'
|
36
|
+
c.description = 'search similar good'
|
37
|
+
|
38
|
+
c.action do |args, options|
|
39
|
+
shopeecate = ShopeeScrape::ShopeeListGoodsByCate.new(args[0])
|
40
|
+
goods = shopeecate.goods
|
41
|
+
puts shopeecate.search_keyword(goods, args[1])
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
23
45
|
|
24
46
|
end
|
data/lib/shopee/version.rb
CHANGED
data/lib/shopee.rb
CHANGED
@@ -1,43 +1,104 @@
|
|
1
1
|
require 'oga'
|
2
2
|
require 'open-uri'
|
3
3
|
require 'json'
|
4
|
+
require 'fuzzystringmatch'
|
4
5
|
|
5
6
|
module ShopeeScrape
|
6
|
-
class
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
class ShopeeListGoodsByCate
|
8
|
+
|
9
|
+
require_relative './data/mobile_category'
|
10
|
+
GOOD_NAME = "//div[contains(@class, 'subject')]"
|
11
|
+
GOOD_PRICE = "//div[contains(@class, 'price')]"
|
12
|
+
GOOD_NUM = "//div[contains(@class, 'num')]"
|
13
|
+
GOOD_UPTIME = "//div[contains(@class, 'updated')]"
|
14
|
+
|
15
|
+
def initialize(category)
|
16
|
+
parse_html(category)
|
17
|
+
end
|
18
|
+
|
19
|
+
def goods
|
20
|
+
@goods ||= extract_goods
|
10
21
|
end
|
11
22
|
|
12
|
-
def
|
13
|
-
@
|
23
|
+
def search_keyword(good, keyword)
|
24
|
+
@similar ||= find_similiar_goods(goods, keyword)
|
14
25
|
end
|
15
26
|
|
16
27
|
private
|
17
28
|
|
18
|
-
def parse_html
|
19
|
-
url =
|
29
|
+
def parse_html(id)
|
30
|
+
url = ALL_LINK[id]
|
20
31
|
@document = Oga.parse_html(open(url))
|
21
32
|
end
|
22
33
|
|
23
|
-
def
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
+
def extract_goods
|
35
|
+
name = []
|
36
|
+
price = []
|
37
|
+
num = []
|
38
|
+
update_time = []
|
39
|
+
@document.xpath(GOOD_NAME).map do |good|
|
40
|
+
name << good.text
|
41
|
+
end
|
42
|
+
|
43
|
+
@document.xpath(GOOD_PRICE).map do |good|
|
44
|
+
price << good.text
|
45
|
+
end
|
46
|
+
|
47
|
+
@document.xpath(GOOD_NUM).map do |good|
|
48
|
+
num << good.text
|
49
|
+
end
|
50
|
+
|
51
|
+
@document.xpath(GOOD_UPTIME).map do |good|
|
52
|
+
update_time << good.text
|
53
|
+
end
|
54
|
+
|
55
|
+
number = name.length
|
56
|
+
results = []
|
57
|
+
# puts number
|
58
|
+
if number > 32
|
59
|
+
number = 32
|
60
|
+
end
|
61
|
+
for i in 2..number-1
|
62
|
+
element = {}
|
63
|
+
element['name'] = name[i]
|
64
|
+
element['price'] = price[i]
|
65
|
+
element['num'] = num[i]
|
66
|
+
element['update_time'] = update_time[i]
|
67
|
+
results << element
|
68
|
+
end
|
69
|
+
|
70
|
+
results
|
71
|
+
end
|
72
|
+
|
73
|
+
def find_similiar_goods(goods, keyword)
|
74
|
+
jarow = FuzzyStringMatch::JaroWinkler.create( :native )
|
75
|
+
rank = {}
|
76
|
+
goods.each do |good|
|
77
|
+
good_name = good['name']
|
78
|
+
value = jarow.getDistance(good_name ,keyword)
|
79
|
+
rank[good_name] = value
|
80
|
+
end
|
81
|
+
|
82
|
+
rank_after_sort = Hash[rank.sort_by{|k, v| v}.reverse]
|
83
|
+
key = rank_after_sort.keys()
|
84
|
+
results = []
|
85
|
+
for i in 0..2
|
86
|
+
good_name = key[i]
|
87
|
+
goods.each do |good|
|
88
|
+
if good['name'] == good_name
|
89
|
+
results << good
|
90
|
+
break
|
34
91
|
end
|
35
92
|
end
|
36
93
|
end
|
37
|
-
|
94
|
+
|
95
|
+
results
|
96
|
+
|
38
97
|
end
|
39
98
|
end
|
40
99
|
|
100
|
+
|
101
|
+
|
41
102
|
# =============================
|
42
103
|
# List all category of mobile01
|
43
104
|
# =============================
|
@@ -55,7 +116,7 @@ module ShopeeScrape
|
|
55
116
|
private
|
56
117
|
|
57
118
|
def extract_json
|
58
|
-
|
119
|
+
list = @cate_name.keys()
|
59
120
|
end
|
60
121
|
end
|
61
122
|
|