hamro-patro-scraper
Version:
A package to scrape Nepali date, time, daily horoscope, gold and silver rates and exchange rates from Hamro Patro.
50 lines (41 loc) • 1.26 kB
JavaScript
const axios = require("axios");
const cheerio = require("cheerio");
const url = "https://www.hamropatro.com/gold";
const getGoldPrices = async () => {
try {
const { data } = await axios.get(url);
const $ = cheerio.load(data);
const articleTitle = $("h2.articleTitle span").text();
const updatedAt = $("p > b").text();
const desText = $("p.des_text").text();
const goldSilverTexts = [];
$("ul.gold-silver > li").each((i, elem) => {
goldSilverTexts.push($(elem).text().trim());
});
const goldPrices = [];
for (let i = 0; i < goldSilverTexts.length; i += 2) {
if (i + 1 < goldSilverTexts.length) {
goldPrices.push({
id: i / 2 + 1,
price: `${goldSilverTexts[i]} - ${goldSilverTexts[i + 1]}`,
});
} else {
goldPrices.push({
id: i / 2 + 1,
price: goldSilverTexts[i],
});
}
}
const result = {
title: articleTitle,
updatedAt: updatedAt,
description: desText,
goldPrices: goldPrices,
};
return result;
} catch (error) {
console.error("Error fetching the page:", error);
throw error;
}
};
module.exports = getGoldPrices;