Files
RSSHub/lib/v2/wechat/ershcimi.js
任平生 9d9926d0bf fix(utils): 修复抓取微信已删除文章时遇到的报错 (#9589)
* fix(utils): 支持微信公众号单图片文章抓取

* fix(utils): 支持输出微信公众号转载文章阅读原文链接

* fix(utils): 修复抓取微信已删除文章时遇到的报错

* refactor: migrate to v2

Co-authored-by: blankyu(于海洋) <blankyu@tencent.com>
2022-04-21 21:40:16 +08:00

36 lines
1.2 KiB
JavaScript

const got = require('@/utils/got');
const cheerio = require('cheerio');
const { finishArticleItem } = require('@/utils/wechat-mp');
const { parseDate } = require('@/utils/parse-date');
const timezone = require('@/utils/timezone');
module.exports = async (ctx) => {
const { id } = ctx.params;
const rootUrl = 'https://www.cimidata.com';
const url = `${rootUrl}/a/${id}`;
const response = await got(url);
const $ = cheerio.load(response.data);
const items = $('.weui_media_box')
.map((_, ele) => {
const $item = cheerio.load(ele);
const link = $item('.weui_media_title a').attr('href');
return {
title: $item('.weui_media_title a').text(),
description: $item('.weui_media_desc').text(),
link,
pubDate: timezone(parseDate($item('.weui_media_extra_info').attr('title')), +8),
};
})
.get();
await Promise.all(items.map(async (item) => await finishArticleItem(ctx, item)));
ctx.state.data = {
title: `微信公众号 - ${$('span.name').text()}`,
link: url,
description: $('div.Profile-sideColumnItemValue').text(),
item: items,
};
};