minm-api/server.js

67 lines
2.2 KiB
JavaScript
Raw Normal View History

2025-05-23 02:36:26 +00:00
const express = require('express');
const axios = require('axios');
const cheerio = require('cheerio');
const cors = require('cors');
const app = express();
const PORT = 3213;
app.use(cors());
app.get('/api/minm/open', async (req, res) => {
try {
const { data } = await axios.get('https://stockanalysis.com/quote/otc/MINM/');
const $ = cheerio.load(data);
let openValue = null;
let volumeValue = null;
let daysRangeValue = null;
let week52RangeValue = null;
let marketCapValue = null;
let changeValue = [];
const priceDiv = $("div.text-4xl.font-bold.transition-colors.duration-300.inline-block").first();
const price = priceDiv.text().trim();
const changeDiv = priceDiv.next("div.font-semibold.inline-block.text-2xl.text-red-vivid");
const change = changeDiv.text().trim();
if (price && change) {
changeValue = [price, change];
}
$('td').each((i, el) => {
if ($(el).text().trim() === 'Open') {
openValue = $(el).next('td').text().trim();
}
if ($(el).text().trim() === 'Volume') {
volumeValue = $(el).next('td').text().trim();
}
if ($(el).text().trim() === "Day's Range") {
daysRangeValue = $(el).next('td').text().trim();
}
if ($(el).text().trim() === '52-Week Range') {
week52RangeValue = $(el).next('td').text().trim();
}
if ($(el).text().trim() === 'Market Cap') {
marketCapValue = $(el).next('td').text().trim();
}
});
if (openValue && volumeValue && daysRangeValue && week52RangeValue && marketCapValue && changeValue.length === 2) {
res.json({ Open: openValue, Volume: volumeValue, DaysRange: daysRangeValue, Week52Range: week52RangeValue, MarketCap: marketCapValue, change: changeValue });
} else {
res.status(404).json({
Open: openValue,
Volume: volumeValue,
DaysRange: daysRangeValue,
Week52Range: week52RangeValue,
MarketCap: marketCapValue,
change: changeValue
});
}
} catch (err) {
res.status(500).json({ error: '', detail: err.message });
2025-05-23 02:36:26 +00:00
}
});
app.listen(PORT, () => {
console.log(`Server running at http://localhost:${PORT}`);
});