Standard js

This commit is contained in:
2022-02-15 22:27:06 +03:00
parent 58530bf433
commit efafcbc356
9 changed files with 3676 additions and 19 deletions

3
.eslintrc Normal file
View File

@@ -0,0 +1,3 @@
{
"extends": "standard"
}

1
.gitignore vendored
View File

@@ -1 +1,2 @@
node_modules node_modules
.vscode

View File

@@ -1,6 +1,6 @@
module.exports = async function(page, url) { module.exports = async function (page, url) {
await page.goto(url); await page.goto(url)
const element = await page.waitForSelector('b.price') const element = await page.waitForSelector('b.price')
const value = await element.evaluate(el => el.textContent); const value = await element.evaluate(el => el.textContent)
return Number(value) return Number(value)
} }

View File

@@ -1,17 +1,17 @@
const puppeteer = require('puppeteer'); const puppeteer = require('puppeteer')
const getPrice = require('./getPrice'); const getPrice = require('./getPrice')
const items = require("./items"); const items = require('./items')
const marketUrl = 'https://warframe.market/items/'; const marketUrl = 'https://warframe.market/items/';
(async () => { (async () => {
const browser = await puppeteer.launch({ headless: false }); const browser = await puppeteer.launch({ headless: false })
const page = await browser.newPage(); const page = await browser.newPage()
for (item of items) { for (const item of items) {
let partsPrice = 0 let partsPrice = 0
for (part of item.parts) { for (const part of item.parts) {
partsPrice += await getPrice(page, marketUrl + part.url); partsPrice += await getPrice(page, marketUrl + part.url)
} }
const setPrice = await getPrice(page, marketUrl + item.url) const setPrice = await getPrice(page, marketUrl + item.url)
@@ -20,5 +20,5 @@ const marketUrl = 'https://warframe.market/items/';
} }
} }
await browser.close(); await browser.close()
})(); })()

View File

@@ -1,12 +1,12 @@
module.exports = class Item { module.exports = class Item {
constructor(name) { constructor (name) {
this.name = name this.name = name
this.url = `${this.name}_prime_set` this.url = `${this.name}_prime_set`
this.parts = [] this.parts = []
this.addPart('blueprint') this.addPart('blueprint')
} }
addPart(part) { addPart (part) {
this.parts.push({ part, url: `${this.name}_prime_${part}` }) this.parts.push({ part, url: `${this.name}_prime_${part}` })
} }
} }

View File

@@ -1,7 +1,7 @@
const Item = require("./Item"); const Item = require('./Item')
module.exports = class Warframe extends Item { module.exports = class Warframe extends Item {
constructor(name) { constructor (name) {
super(name) super(name)
this.addPart('systems') this.addPart('systems')

View File

@@ -1,6 +1,6 @@
const Warframe = require("./Warframe"); const Warframe = require('./Warframe')
module.exports = [ module.exports = [
new Warframe('ash'), new Warframe('ash'),
new Warframe('atlas'), new Warframe('atlas')
] ]

3650
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -10,5 +10,8 @@
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"puppeteer": "^13.3.2" "puppeteer": "^13.3.2"
},
"devDependencies": {
"eslint-config-standard": "^16.0.3"
} }
} }