diff --git a/docs/multimedia.md b/docs/multimedia.md
index bd898defa..68f879d4b 100644
--- a/docs/multimedia.md
+++ b/docs/multimedia.md
@@ -158,7 +158,7 @@ pageClass: routes
## A 姐分享
-
+
## AcFun
diff --git a/lib/v2/abskoop/index.js b/lib/v2/abskoop/index.js
index aa462e864..8353bc172 100644
--- a/lib/v2/abskoop/index.js
+++ b/lib/v2/abskoop/index.js
@@ -2,48 +2,53 @@ const path = require('path');
const got = require('@/utils/got');
const cheerio = require('cheerio');
const { art } = require('@/utils/render');
-const timezone = require('@/utils/timezone');
+const { parseDate } = require('@/utils/parse-date');
module.exports = async (ctx) => {
const response = await got({
method: 'get',
- url: 'https://www.abskoop.com/archives/',
+ url: 'https://www.abskoop.com/page/1/',
});
const $list = cheerio.load(response.data);
- const list = $list('article li')
- .slice(0, 20)
+ const list = $list('.rizhuti_v2-widget-lastpost .scroll article')
.map(function () {
+ const link = $list(this).find('.entry-wrapper .entry-header a');
return {
- link: $list(this).find('a').attr('href'),
+ title: link.attr('title'),
+ link: link.attr('href'),
};
})
.get();
const items = await Promise.all(
- list.map((item) =>
+ list.reverse().map((item) =>
ctx.cache.tryGet(item.link, async () => {
const detailResponse = await got({ method: 'get', url: item.link });
const $detail = cheerio.load(detailResponse.data);
+ $detail('article .entry-content').find('#related_posts').remove();
+ $detail('article .entry-content').find('#jp-relatedposts').remove();
+ $detail('article .entry-content').find('.post-note').remove();
+ $detail('article .entry-content').find('.entry-tags').remove();
+ $detail('article .entry-content').find('.entry-share').remove();
$detail('article .entry-content a').each(function () {
if ($detail(this).find('img').length > 0) {
$detail(this).replaceWith(`
`);
}
});
const desc = [];
- $detail('article .entry-content > p').each(function () {
+ $detail('article .entry-content > *').each(function () {
desc.push($detail(this).html());
});
- item.title = $detail('article h1.entry-title').text();
item.description = art(path.join(__dirname, 'templates/description.art'), { desc });
- item.pubDate = timezone($detail('article time').attr('datetime'), -8);
+ item.pubDate = parseDate($detail('meta[property="article:published_time"]').attr('content'));
return item;
})
)
);
ctx.state.data = {
- title: 'ahhhhfs - A姐分享',
+ title: 'ahhhhfs-A姐分享',
link: 'https://www.abskoop.com',
description:
'A姐分享,分享各种网络云盘资源、BT种子、高清电影电视剧和羊毛福利,收集各种有趣实用的软件和APP的下载、安装、使用方法,发现一些稀奇古怪的的网站,折腾一些有趣实用的教程,关注谷歌苹果等互联网最新的资讯动态,探索新领域,发现新美好,分享小快乐。',
diff --git a/lib/v2/abskoop/nsfw.js b/lib/v2/abskoop/nsfw.js
new file mode 100644
index 000000000..fa59f8186
--- /dev/null
+++ b/lib/v2/abskoop/nsfw.js
@@ -0,0 +1,52 @@
+const path = require('path');
+const got = require('@/utils/got');
+const cheerio = require('cheerio');
+const { art } = require('@/utils/render');
+const { parseDate } = require('@/utils/parse-date');
+
+module.exports = async (ctx) => {
+ const response = await got({
+ method: 'get',
+ url: 'https://nsfw.ahhhhfs.com/articles-archive/',
+ });
+
+ const $list = cheerio.load(response.data);
+ const list = $list('article li')
+ .slice(0, 20)
+ .map(function () {
+ return {
+ link: $list(this).find('a').attr('href'),
+ };
+ })
+ .get();
+
+ const items = await Promise.all(
+ list.map((item) =>
+ ctx.cache.tryGet(item.link, async () => {
+ const detailResponse = await got({ method: 'get', url: item.link });
+ const $detail = cheerio.load(detailResponse.data);
+ $detail('article .entry-content a').each(function () {
+ if ($detail(this).find('img').length > 0) {
+ $detail(this).replaceWith(`
`);
+ }
+ });
+ const desc = [];
+ $detail('article .entry-content > p').each(function () {
+ desc.push($detail(this).html());
+ });
+ item.title = $detail('article h1.entry-title').text();
+ item.description = art(path.join(__dirname, 'templates/description.art'), { desc });
+ item.pubDate = parseDate($detail('meta[property="article:published_time"]').attr('content'));
+ return item;
+ })
+ )
+ );
+
+ ctx.state.data = {
+ title: 'ahhhhfs-A姐分享NSFW',
+ link: 'https://nsfw.ahhhhfs.com',
+ description:
+ 'A姐分享NSFW,分享各种网络云盘资源、BT种子、磁力链接、高清电影电视剧和羊毛福利,收集各种有趣实用的软件和APP的下载、安装、使用方法,发现一些稀奇古怪的的网站,折腾一些有趣实用的教程,关注谷歌苹果等互联网最新的资讯动态,探索新领域,发现新美好,分享小快乐。',
+ item: items,
+ };
+};
diff --git a/lib/v2/abskoop/router.js b/lib/v2/abskoop/router.js
index 20c52b09d..618e2d68d 100644
--- a/lib/v2/abskoop/router.js
+++ b/lib/v2/abskoop/router.js
@@ -1,3 +1,4 @@
module.exports = function (router) {
router.get('/', require('./index'));
+ router.get('/nsfw', require('./nsfw'));
};