rsshub
Version:
Make RSS Great Again!
52 lines (51 loc) • 1.51 kB
JavaScript
import { t as parseDate } from "./parse-date-Cr0wQjV_.mjs";
import { t as cache_default } from "./cache-BkqOokyU.mjs";
import { t as got_default } from "./got-BTowW50G.mjs";
import { load } from "cheerio";
//#region lib/routes/hexun/index.ts
const decoder = new TextDecoder("gbk");
const route = {
path: "/pe/news",
categories: ["finance"],
example: "/hexun/pe/news",
url: "pe.hexun.com/news/",
name: "创投行业新闻",
maintainers: ["p3psi-boo"],
handler
};
async function handler() {
const baseUrl = "https://pe.hexun.com/news/";
const response = await got_default({
method: "get",
url: baseUrl,
responseType: "arrayBuffer"
});
const $ = load(decoder.decode(response.data));
const list = $(".listNews li").toArray().map((item) => {
const element = $(item);
const a = element.find("a");
const link = a.attr("href")?.replace("http://", "https://") || "";
const title = a.text();
const timeSpan = element.find("span");
return {
title,
link,
pubDate: parseDate(timeSpan.text().slice(1, timeSpan.text().length - 1), "MM/DD HH:mm")
};
});
return {
title: "和讯创投 - 创投行业新闻",
link: baseUrl,
item: await Promise.all(list.map((item) => cache_default.tryGet(item.link, async () => {
const response = await got_default({
method: "get",
url: item.link,
responseType: "arrayBuffer"
});
item.description = load(decoder.decode(response.data))(".art_contextBox").html();
return item;
})))
};
}
//#endregion
export { route };