Part class
This commit is contained in:
9
index.js
9
index.js
@@ -1,8 +1,5 @@
|
|||||||
const puppeteer = require('puppeteer')
|
const puppeteer = require('puppeteer')
|
||||||
const getPrice = require('./getPrice')
|
const items = require('./items');
|
||||||
const items = require('./items')
|
|
||||||
|
|
||||||
const marketUrl = 'https://warframe.market/items/';
|
|
||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
const browser = await puppeteer.launch({ headless: false })
|
const browser = await puppeteer.launch({ headless: false })
|
||||||
@@ -11,10 +8,10 @@ const marketUrl = 'https://warframe.market/items/';
|
|||||||
for (const item of items) {
|
for (const item of items) {
|
||||||
let partsPrice = 0
|
let partsPrice = 0
|
||||||
for (const part of item.parts) {
|
for (const part of item.parts) {
|
||||||
partsPrice += await getPrice(page, marketUrl + part.url)
|
partsPrice += await part.getPrice(page)
|
||||||
}
|
}
|
||||||
|
|
||||||
const setPrice = await getPrice(page, marketUrl + item.url)
|
const setPrice = await item.set.getPrice(page)
|
||||||
if (partsPrice < setPrice) {
|
if (partsPrice < setPrice) {
|
||||||
console.log(item.name, partsPrice, setPrice)
|
console.log(item.name, partsPrice, setPrice)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,15 @@
|
|||||||
|
const Part = require('./Part')
|
||||||
|
|
||||||
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.set = new Part(name, '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(new Part(this.name, part))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
15
items/Part.js
Normal file
15
items/Part.js
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
module.exports = class Part {
|
||||||
|
constructor (set, part) {
|
||||||
|
this.part = part
|
||||||
|
this.url = `${set}_prime_${part}`
|
||||||
|
}
|
||||||
|
|
||||||
|
async getPrice (page) {
|
||||||
|
const marketUrl = 'https://warframe.market/items/'
|
||||||
|
|
||||||
|
await page.goto(marketUrl + this.url)
|
||||||
|
const element = await page.waitForSelector('b.price')
|
||||||
|
const value = await element.evaluate(el => el.textContent)
|
||||||
|
return Number(value)
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user