Showing
3 changed files
with
35 additions
and
1 deletions
jaksimsamil-server/package-lock.json
0 → 100644
This diff could not be displayed because it is too large.
... | @@ -4,17 +4,21 @@ | ... | @@ -4,17 +4,21 @@ |
4 | "main": "index.js", | 4 | "main": "index.js", |
5 | "license": "MIT", | 5 | "license": "MIT", |
6 | "dependencies": { | 6 | "dependencies": { |
7 | + "axios": "^0.19.2", | ||
7 | "bcrypt": "^4.0.1", | 8 | "bcrypt": "^4.0.1", |
8 | "body-parser": "^1.19.0", | 9 | "body-parser": "^1.19.0", |
10 | + "cheerio": "^1.0.0-rc.3", | ||
9 | "dotenv": "^8.2.0", | 11 | "dotenv": "^8.2.0", |
10 | "eslint-config-prettier": "^6.11.0", | 12 | "eslint-config-prettier": "^6.11.0", |
11 | "express": "^4.17.1", | 13 | "express": "^4.17.1", |
12 | "fs": "^0.0.1-security", | 14 | "fs": "^0.0.1-security", |
15 | + "iconv": "^3.0.0", | ||
13 | "joi": "^14.3.1", | 16 | "joi": "^14.3.1", |
14 | "jsonwebtoken": "^8.5.1", | 17 | "jsonwebtoken": "^8.5.1", |
15 | "mongoose": "^5.9.17", | 18 | "mongoose": "^5.9.17", |
16 | "morgan": "^1.10.0", | 19 | "morgan": "^1.10.0", |
17 | - "path": "^0.12.7" | 20 | + "path": "^0.12.7", |
21 | + "voca": "^1.4.0" | ||
18 | }, | 22 | }, |
19 | "devDependencies": { | 23 | "devDependencies": { |
20 | "babel-eslint": "^10.1.0", | 24 | "babel-eslint": "^10.1.0", | ... | ... |
jaksimsamil-server/src/util/getBJ.js
0 → 100644
1 | +const axios = require("axios"); | ||
2 | +const cheerio = require("cheerio"); | ||
3 | +let userid_test = "syw5141"; | ||
4 | +const getHtml = async (userid) => { | ||
5 | + try { | ||
6 | + return await axios.get("https://www.acmicpc.net/user/" + userid); | ||
7 | + } catch (error) { | ||
8 | + console.log(error); | ||
9 | + } | ||
10 | +}; | ||
11 | + | ||
12 | +getHtml(userid_test).then((html) => { | ||
13 | + let psList = []; | ||
14 | + const $ = cheerio.load(html.data); | ||
15 | + const $bodyList = $("div.panel-body").children(); | ||
16 | + | ||
17 | + $bodyList.each(function (i) { | ||
18 | + if (i % 2 == 0) { | ||
19 | + psList[i / 2] = { | ||
20 | + problem_number: $(this).children().text(), | ||
21 | + problem_title: $(this).next().children().text(), | ||
22 | + }; | ||
23 | + } | ||
24 | + }); | ||
25 | + | ||
26 | + console.log(psList); | ||
27 | + return psList; | ||
28 | +}); | ||
29 | + | ||
30 | +//body > div.wrapper > div.container.content > div.row > div:nth-child(2) > div:nth-child(3) > div.col-md-9 > div:nth-child(1) > div.panel-body |
-
Please register or login to post a comment