feat(route)!: remove shuquge (#10977)

* 修复 书趣阁 路由失效
fix shuquge route failure

* shuquge route tag add `puppeteer="1"`

* fix: remove duplicated route

Co-authored-by: 王艮朋 <genpeng09@163.com>
This commit is contained in:
ActonGen 2022-10-22 03:23:52 +08:00 committed by GitHub
parent 020c4a0cfb
commit 95eecbf6ca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 91 deletions

View File

@ -174,23 +174,23 @@ pageClass: routes
:::
| 网址 |
| ------------------------- |
| <https://www.xbiquwx.la> |
| <http://www.biqu5200.net> |
| <https://www.xbiquge.so> |
| <https://www.biqugeu.net> |
| <http://www.b520.cc> |
| <https://www.biquge.biz> |
| <https://www.xbiquge.la> |
| <https://www.qbiqu.com> |
| <https://www.bswtan.com> |
| <https://www.biquge.co> |
| <https://www.zhhbqg.com> |
| <http://www.biqugse.com> |
| <https://www.ibiquge.net> |
| <https://www.shuquge.com> |
| <https://www.mayiwxw.com> |
| 网址 | 名称 |
| -------------------------- | ----- |
| <https://www.xbiquwx.la> | 笔尖中文 |
| <http://www.biqu5200.net> | 笔趣阁 |
| <https://www.xbiquge.so> | 笔趣阁 |
| <https://www.biqugeu.net> | 顶点小说网 |
| <http://www.b520.cc> | 笔趣阁 |
| <https://www.ahfgb.com> | 笔趣鸽 |
| <https://www.ibiquge.la> | 香书小说 |
| <https://www.biquge.tv> | 笔趣阁 |
| <https://www.bswtan.com> | 笔书网 |
| <https://www.biquge.co> | 笔趣阁 |
| <https://www.bqzhh.com> | 笔趣阁 |
| <http://www.biqugse.com> | 笔趣阁 |
| <https://www.ibiquge.info> | 爱笔楼 |
| <https://www.ishuquge.com> | 书趣阁 |
| <https://www.mayiwxw.com> | 蚂蚁文学 |
### 小说
@ -504,16 +504,6 @@ count 的取值范围为 1-12为防止请求次数过多推荐设置为 5
</Route>
## 书趣阁
### 小说更新
<Route author="ActonGen" example="/novel/shuquge/8659" path="/novel/shuquge/:id" :paramsDesc="['小说 id, 可在对应小说页 URL 中找到, 例如 `8659`']">
举例网址:<http://www.shuquge.com/txt/8659/index.html>
</Route>
## 文学迷
### 小说更新

View File

@ -465,7 +465,6 @@ router.get('/mafengwo/ziyouxing/:code', lazyloadRouteHandler('./routes/mafengwo/
router.get('/novel/uukanshu/:uid', lazyloadRouteHandler('./routes/novel/uukanshu'));
router.get('/novel/wenxuemi/:id1/:id2', lazyloadRouteHandler('./routes/novel/wenxuemi'));
router.get('/novel/booksky/:id', lazyloadRouteHandler('./routes/novel/booksky'));
router.get('/novel/shuquge/:id', lazyloadRouteHandler('./routes/novel/shuquge'));
router.get('/novel/ptwxz/:id1/:id2', lazyloadRouteHandler('./routes/novel/ptwxz'));
router.get('/novel/zhaishuyuan/:id', lazyloadRouteHandler('./routes/novel/zhaishuyuan'));

View File

@ -1,63 +0,0 @@
const got = require('@/utils/got');
const cheerio = require('cheerio');
const iconv = require('iconv-lite');
const baseUrl = 'http://www.sizhicn.com/txt/';
// 获取小说的最新章节列表
module.exports = async (ctx) => {
const id = ctx.params.id; // 小说id
const response = await got({
method: 'get',
url: `${baseUrl}${id}/index.html`,
responseType: 'buffer',
});
const responseHtml = iconv.decode(response.data, 'utf-8');
const $ = cheerio.load(responseHtml);
const title = $('.listmain>dl>dt').eq(0).text();
const description = $('.intro').text();
const cover_url = $('.cover>img').eq(0).attr('src');
const list = $('.listmain dd').slice(0, 9);
const chapter_item = list
.find('a')
.map((_, e) => ({
title: e.children[0].data,
link: `${baseUrl}${id}/${e.attribs.href}`,
}))
.get();
const items = await Promise.all(
chapter_item.map(async (item) => {
const cache = await ctx.cache.get(item.link);
if (cache) {
return Promise.resolve(JSON.parse(cache));
}
const response = await got({
method: 'get',
url: item.link,
responseType: 'buffer',
});
const responseHtml = iconv.decode(response.data, 'utf-8');
const $ = cheerio.load(responseHtml);
const description = $('#content').html();
const single = {
title: item.title,
description,
link: item.link,
};
ctx.cache.set(item.link, JSON.stringify(single));
return Promise.resolve(single);
})
);
ctx.state.data = {
title: `书趣阁 ${title}`,
link: `${baseUrl}${id}/index.html`,
image: cover_url,
description,
item: items,
};
};