Files
RSSHub/lib/v2/pkmer/recent.js
T
30ed60da40 feat(route): add PKMer (#14103)
* feat(route): PKMer

* style: auto format

* Update lib/v2/pkmer/recent.js

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

* Update lib/v2/pkmer/radar.js

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

* Update bbs.mdx

* Update lib/v2/pkmer/recent.js

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-12-23 23:18:45 +00:00

37 lines
1.1 KiB
JavaScript

const got = require('@/utils/got');
const cheerio = require('cheerio');
const baseUrl = 'https://pkmer.cn';
module.exports = async (ctx) => {
const { data: response } = await got(`${baseUrl}/page/1/`);
const $ = cheerio.load(response);
const items = process($);
ctx.state.data = {
title: 'PKMer',
icon: 'https://cdn.pkmer.cn/covers/logo.png!nomark',
logo: 'https://cdn.pkmer.cn/covers/logo.png!nomark',
link: baseUrl,
allowEmpty: true,
item: items,
};
};
function process($) {
const container = $('#pages > div.grid > .relative');
const items = container.toArray().map((el) => {
el = $(el);
const title = el.find('h3');
return {
title: title.text().trim(),
link: baseUrl + title.parent().attr('href'),
description: el.find('.leading-relaxed').prop('outerHTML') + el.find('.post-content').prop('outerHTML'),
pubDate: el.find('time').attr('datetime'),
author: el.find('h4').text().trim(),
itunes_item_image: el.find('img').attr('src'),
};
});
return items;
}