UNPKG

rsshub

Version:
48 lines (41 loc) 1.55 kB
import { Route } from '@/types'; import got from '@/utils/got'; import { JSDOM } from 'jsdom'; import { parseDate } from '@/utils/parse-date'; export const route: Route = { path: '/result/:team', categories: ['new-media'], example: '/dongqiudi/result/50001755', parameters: { team: '球队 id, 可在[懂球帝数据](https://www.dongqiudi.com/data)中找到' }, radar: [ { source: ['www.dongqiudi.com/team/*team'], target: (params) => `/dongqiudi/result/${params.team.replace('.html', '')}`, }, ], name: '足球赛果', maintainers: ['HenryQW'], handler, }; async function handler(ctx) { const team = ctx.req.param('team'); const link = `https://www.dongqiudi.com/team/${team}.html`; const response = await got(link); const dom = new JSDOM(response.data, { runScripts: 'dangerously', }); const data = dom.window.__NUXT__.data[0]; const resultData = data.teamScheduleData.filter((data) => data.fs_A && data.fs_B); const teamName = data.teamDetail.base_info.team_name; const out = resultData.map((result) => ({ title: `${result.match_title} ${result.team_A_name} ${result.fs_A}-${result.fs_B} ${result.team_B_name}`, guid: result.match_id, link: result.scheme.replace('dongqiudi:///game/', 'https://www.dongqiudi.com/liveDetail/'), pubDate: parseDate(result.start_time), })); return { title: `${teamName} 比赛结果`, link, item: out.slice(-10), }; }