Ubuntu

Scrape from API

...@@ -8,6 +8,8 @@ const HTTPS = require('https'); ...@@ -8,6 +8,8 @@ const HTTPS = require('https');
8 const domain = "2020105648.oss2021.tk" 8 const domain = "2020105648.oss2021.tk"
9 const sslport = 23023; 9 const sslport = 23023;
10 const bodyParser = require('body-parser'); 10 const bodyParser = require('body-parser');
11 +const axios = require('axios')
12 +const cheerio = require('cheerio')
11 var app = express(); 13 var app = express();
12 //var lan = "en" 14 //var lan = "en"
13 app.use(bodyParser.json()); 15 app.use(bodyParser.json());
...@@ -37,6 +39,18 @@ app.post('/hook', function (req, res) { ...@@ -37,6 +39,18 @@ app.post('/hook', function (req, res) {
37 // else{ 39 // else{
38 // trans(eventObj.replyToken, eventObj.message.text); 40 // trans(eventObj.replyToken, eventObj.message.text);
39 // } 41 // }
42 +
43 + // const temp = axios.get(`https://finance.naver.com/item/main.nhn?code=${stock_code}%22`).then(
44 + // res => {
45 + // // console.log(res)
46 + // let urList = [];
47 + // const $ = cheerio.load(res.data)
48 + // const $bodyList = $("dl.blind").children("dd").text();
49 + // const result = $bodyList.slice(73, 80) // 실시간으로 변하는 주식 가격 scrape
50 + // console.log(result)
51 + // }
52 + // )
53 +
40 request.post( 54 request.post(
41 { 55 {
42 url: TARGET_URL, 56 url: TARGET_URL,
......
...@@ -55,6 +55,14 @@ ...@@ -55,6 +55,14 @@
55 "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", 55 "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
56 "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" 56 "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
57 }, 57 },
58 + "axios": {
59 + "version": "0.21.1",
60 + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz",
61 + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==",
62 + "requires": {
63 + "follow-redirects": "^1.10.0"
64 + }
65 + },
58 "bcrypt-pbkdf": { 66 "bcrypt-pbkdf": {
59 "version": "1.0.2", 67 "version": "1.0.2",
60 "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", 68 "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
...@@ -80,6 +88,11 @@ ...@@ -80,6 +88,11 @@
80 "type-is": "~1.6.17" 88 "type-is": "~1.6.17"
81 } 89 }
82 }, 90 },
91 + "boolbase": {
92 + "version": "1.0.0",
93 + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
94 + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
95 + },
83 "bytes": { 96 "bytes": {
84 "version": "3.1.0", 97 "version": "3.1.0",
85 "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", 98 "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
...@@ -90,6 +103,32 @@ ...@@ -90,6 +103,32 @@
90 "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", 103 "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
91 "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" 104 "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
92 }, 105 },
106 + "cheerio": {
107 + "version": "1.0.0-rc.9",
108 + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.9.tgz",
109 + "integrity": "sha512-QF6XVdrLONO6DXRF5iaolY+odmhj2CLj+xzNod7INPWMi/x9X4SOylH0S/vaPpX+AUU6t04s34SQNh7DbkuCng==",
110 + "requires": {
111 + "cheerio-select": "^1.4.0",
112 + "dom-serializer": "^1.3.1",
113 + "domhandler": "^4.2.0",
114 + "htmlparser2": "^6.1.0",
115 + "parse5": "^6.0.1",
116 + "parse5-htmlparser2-tree-adapter": "^6.0.1",
117 + "tslib": "^2.2.0"
118 + }
119 + },
120 + "cheerio-select": {
121 + "version": "1.5.0",
122 + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.5.0.tgz",
123 + "integrity": "sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==",
124 + "requires": {
125 + "css-select": "^4.1.3",
126 + "css-what": "^5.0.1",
127 + "domelementtype": "^2.2.0",
128 + "domhandler": "^4.2.0",
129 + "domutils": "^2.7.0"
130 + }
131 + },
93 "combined-stream": { 132 "combined-stream": {
94 "version": "1.0.8", 133 "version": "1.0.8",
95 "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 134 "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
...@@ -126,6 +165,23 @@ ...@@ -126,6 +165,23 @@
126 "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 165 "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
127 "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" 166 "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
128 }, 167 },
168 + "css-select": {
169 + "version": "4.1.3",
170 + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz",
171 + "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==",
172 + "requires": {
173 + "boolbase": "^1.0.0",
174 + "css-what": "^5.0.0",
175 + "domhandler": "^4.2.0",
176 + "domutils": "^2.6.0",
177 + "nth-check": "^2.0.0"
178 + }
179 + },
180 + "css-what": {
181 + "version": "5.0.1",
182 + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz",
183 + "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg=="
184 + },
129 "dashdash": { 185 "dashdash": {
130 "version": "1.14.1", 186 "version": "1.14.1",
131 "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 187 "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
...@@ -157,6 +213,39 @@ ...@@ -157,6 +213,39 @@
157 "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", 213 "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
158 "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" 214 "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
159 }, 215 },
216 + "dom-serializer": {
217 + "version": "1.3.2",
218 + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz",
219 + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==",
220 + "requires": {
221 + "domelementtype": "^2.0.1",
222 + "domhandler": "^4.2.0",
223 + "entities": "^2.0.0"
224 + }
225 + },
226 + "domelementtype": {
227 + "version": "2.2.0",
228 + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
229 + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A=="
230 + },
231 + "domhandler": {
232 + "version": "4.2.0",
233 + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz",
234 + "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==",
235 + "requires": {
236 + "domelementtype": "^2.2.0"
237 + }
238 + },
239 + "domutils": {
240 + "version": "2.7.0",
241 + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz",
242 + "integrity": "sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==",
243 + "requires": {
244 + "dom-serializer": "^1.0.1",
245 + "domelementtype": "^2.2.0",
246 + "domhandler": "^4.2.0"
247 + }
248 + },
160 "ecc-jsbn": { 249 "ecc-jsbn": {
161 "version": "0.1.2", 250 "version": "0.1.2",
162 "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", 251 "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
...@@ -176,6 +265,11 @@ ...@@ -176,6 +265,11 @@
176 "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", 265 "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
177 "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" 266 "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
178 }, 267 },
268 + "entities": {
269 + "version": "2.2.0",
270 + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
271 + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A=="
272 + },
179 "escape-html": { 273 "escape-html": {
180 "version": "1.0.3", 274 "version": "1.0.3",
181 "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 275 "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
...@@ -257,6 +351,11 @@ ...@@ -257,6 +351,11 @@
257 "unpipe": "~1.0.0" 351 "unpipe": "~1.0.0"
258 } 352 }
259 }, 353 },
354 + "follow-redirects": {
355 + "version": "1.14.1",
356 + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz",
357 + "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg=="
358 + },
260 "forever-agent": { 359 "forever-agent": {
261 "version": "0.6.1", 360 "version": "0.6.1",
262 "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", 361 "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
...@@ -304,6 +403,17 @@ ...@@ -304,6 +403,17 @@
304 "har-schema": "^2.0.0" 403 "har-schema": "^2.0.0"
305 } 404 }
306 }, 405 },
406 + "htmlparser2": {
407 + "version": "6.1.0",
408 + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
409 + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
410 + "requires": {
411 + "domelementtype": "^2.0.1",
412 + "domhandler": "^4.0.0",
413 + "domutils": "^2.5.2",
414 + "entities": "^2.0.0"
415 + }
416 + },
307 "http-errors": { 417 "http-errors": {
308 "version": "1.7.2", 418 "version": "1.7.2",
309 "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", 419 "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
...@@ -428,6 +538,14 @@ ...@@ -428,6 +538,14 @@
428 "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", 538 "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
429 "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" 539 "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
430 }, 540 },
541 + "nth-check": {
542 + "version": "2.0.0",
543 + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz",
544 + "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==",
545 + "requires": {
546 + "boolbase": "^1.0.0"
547 + }
548 + },
431 "oauth-sign": { 549 "oauth-sign": {
432 "version": "0.9.0", 550 "version": "0.9.0",
433 "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", 551 "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
...@@ -441,6 +559,19 @@ ...@@ -441,6 +559,19 @@
441 "ee-first": "1.1.1" 559 "ee-first": "1.1.1"
442 } 560 }
443 }, 561 },
562 + "parse5": {
563 + "version": "6.0.1",
564 + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
565 + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="
566 + },
567 + "parse5-htmlparser2-tree-adapter": {
568 + "version": "6.0.1",
569 + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz",
570 + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==",
571 + "requires": {
572 + "parse5": "^6.0.1"
573 + }
574 + },
444 "parseurl": { 575 "parseurl": {
445 "version": "1.3.3", 576 "version": "1.3.3",
446 "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", 577 "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
...@@ -618,6 +749,11 @@ ...@@ -618,6 +749,11 @@
618 "punycode": "^2.1.1" 749 "punycode": "^2.1.1"
619 } 750 }
620 }, 751 },
752 + "tslib": {
753 + "version": "2.2.0",
754 + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz",
755 + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w=="
756 + },
621 "tunnel-agent": { 757 "tunnel-agent": {
622 "version": "0.6.0", 758 "version": "0.6.0",
623 "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 759 "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
......