diff --git a/lib/routes/gov/tianjin/tjftz.ts b/lib/routes/gov/tianjin/tjftz.ts new file mode 100644 index 00000000000000..1b14f0c0197421 --- /dev/null +++ b/lib/routes/gov/tianjin/tjftz.ts @@ -0,0 +1,53 @@ +import { Route } from '@/types'; +import got from '@/utils/got'; +import { load } from 'cheerio'; +import { parseDate } from '@/utils/parse-date'; + +export const route: Route = { + path: '/tianjin/tjftz-notice/:channelId', + categories: ['government'], + example: '/gov/tianjin/tjftz-notice/6302', + parameters: { + channelId: '公告分类id、详细信息点击源网站https://www.tjftz.gov.cn/请求中寻找', + }, + radar: [ + { + source: ['tjftz.gov.cn/channels/:channelId.html'], + target: '/tianjin/tjftz-notice/:channelId', + }, + ], + name: '天津港保税区-公告', + url: 'tjftz.gov.cn', + maintainers: ['HaoyuLee'], + description: ` +| 公告类别 | channelId | +| ------------ | -- | +| 首页>新闻>保税区要闻>区域聚焦 | 6302 | + `, + async handler(ctx) { + const { channelId = '6302' } = ctx.req.param(); + const url = `https://www.tjftz.gov.cn/channels/${channelId}.html`; + const { data: response } = await got(url); + const noticeCate = load(response)('.location').text().trim(); + const item = load(response)('#sec_right>ul>span>li>.layui-row') + .toArray() + .map((el) => { + const $ = load(el); + return { + title: `天津保税区:${$('a').attr('title')}`, + link: `https://www.tjftz.gov.cn${$('a').attr('href')}`, + pubDate: parseDate($('span').text().trim()), + author: '天津保税区', + description: ` +

${noticeCate}

+ ${$('a').attr('title')} + `, + }; + }); + return { + title: '天津港保税区-公告', + link: url, + item, + }; + }, +}; diff --git a/lib/routes/gov/tianjin/tjrcgzw.ts b/lib/routes/gov/tianjin/tjrcgzw.ts new file mode 100644 index 00000000000000..55af4408ce5b22 --- /dev/null +++ b/lib/routes/gov/tianjin/tjrcgzw.ts @@ -0,0 +1,51 @@ +import { Route } from '@/types'; +import got from '@/utils/got'; +import { load } from 'cheerio'; +import { parseDate } from '@/utils/parse-date'; +export const route: Route = { + path: '/tianjin/tjrcgzw-notice/:cate/:subCate', + categories: ['government'], + example: '/gov/tianjin/tjrcgzw-notice/rczc/sjrczc/', + parameters: { + channelId: '公告分类id、详细信息点击源网站https://hrss.tj.gov.cn/ztzl/ztzl1/tjrcgzw/请求中寻找', + }, + radar: [ + { + source: ['hrss.tj.gov.cn/ztzl/ztzl1/tjrcgzw/'], + target: '/tianjin/tjrcgzw-notice/:cate/:subCate', + }, + ], + name: '天津人才工作网-公告', + url: 'hrss.tj.gov.cn/ztzl/ztzl1/tjrcgzw/', + maintainers: ['HaoyuLee'], + async handler(ctx) { + const { cate, subCate } = ctx.req.param(); + const url = `https://hrss.tj.gov.cn/ztzl/ztzl1/tjrcgzw/${cate}/${subCate}/`; + const { data: response } = await got(url); + const noticeCate = load(response)('.routeBlockAuto').text().trim(); + const item = load(response)('ul.listUlBox01>li') + .toArray() + .map((el) => { + const $ = load(el); + const title = $('a').text().trim(); + const href = $('a').attr('href') || ''; + const date = $('span').text().trim(); + const link = href!.includes('http') ? href : new URL(href, url).href; + return { + title: `天津人才工作网:${title}`, + link, + pubDate: parseDate(date), + author: '天津人才工作网', + description: ` +

${noticeCate}

+ ${title} + `, + }; + }); + return { + title: '天津人才工作网-公告', + link: url, + item, + }; + }, +};