mirror of
https://github.com/ourongxing/newsnow.git
synced 2025-01-19 03:09:14 +08:00
58 lines
1.5 KiB
TypeScript
58 lines
1.5 KiB
TypeScript
import * as cheerio from "cheerio"
|
|
import type { NewsItem } from "@shared/types"
|
|
|
|
const express = defineSource(async () => {
|
|
const baseURL = "https://www.fastbull.com"
|
|
const html: any = await myFetch(`${baseURL}/cn/express-news`)
|
|
const $ = cheerio.load(html)
|
|
const $main = $(".news-list")
|
|
const news: NewsItem[] = []
|
|
$main.each((_, el) => {
|
|
const a = $(el).find(".title_name")
|
|
const url = a.attr("href")
|
|
const titleText = a.text()
|
|
const title = titleText.match(/【(.+)】/)?.[1] ?? titleText
|
|
const date = $(el).attr("data-date")
|
|
if (url && title && date) {
|
|
news.push({
|
|
url: baseURL + url,
|
|
title: title.length < 4 ? titleText : title,
|
|
id: url,
|
|
pubDate: Number(date),
|
|
})
|
|
}
|
|
})
|
|
return news
|
|
})
|
|
|
|
const news = defineSource(async () => {
|
|
const baseURL = "https://www.fastbull.com"
|
|
const html: any = await myFetch(`${baseURL}/cn/news`)
|
|
const $ = cheerio.load(html)
|
|
const $main = $(".trending_type")
|
|
const news: NewsItem[] = []
|
|
$main.each((_, el) => {
|
|
const a = $(el)
|
|
const url = a.attr("href")
|
|
const title = a.find(".title").text()
|
|
const date = a.find("[data-date]").attr("data-date")
|
|
if (url && title && date) {
|
|
news.push({
|
|
url: baseURL + url,
|
|
title,
|
|
id: url,
|
|
pubDate: Number(date),
|
|
})
|
|
}
|
|
})
|
|
return news
|
|
})
|
|
|
|
export default defineSource(
|
|
{
|
|
"fastbull": express,
|
|
"fastbull-express": express,
|
|
"fastbull-news": news,
|
|
},
|
|
)
|