UNPKG

ge-volume-extractor

Version:
44 lines (36 loc) 963 B
const Xray = require('x-ray') const x = Xray() const RE_VOLUME_DATA_POINT = /\[new Date\('([^']+)'\), (\d+)\]/ function extractTrendScript(html) { return new Promise((resolve, reject) => { x(html, 'div.stats+script')((err, data) => { if (err) { return reject(err) } return resolve(data) }) }) } function extractTrendData(body) { return body .split('\r\n') .map(s => s.trimLeft()) .filter(s => /^trade180/.test(s)) .map(s => { const [, date, volume] = RE_VOLUME_DATA_POINT.exec(s) return { date, volume: +volume } }) } function getItemHtml(itemId) { return axios.get(`http://services.runescape.com/m=itemdb_oldschool/Runescape/viewitem?obj=${itemId}`) .then(({ data }) => data) } module.exports = { // getItemHtml, extractTrendData // getItemVolume: itemId => { // return getItemHtml(itemId) // .then(extractTrendScript) // .then(extractTrendData) // } }