Add Apkpure (#1187)
This commit is contained in:
parent
7b14a279ff
commit
6dde28bcf9
|
|
@ -1146,6 +1146,10 @@ GitHub 官方也提供了一些 RSS:
|
|||
|
||||
<route name="Changelog" author="cnzgray" example="/typora/changelog" path="/typora/changelog"/>
|
||||
|
||||
### Apkpure
|
||||
|
||||
<route name="Versions" author="maple3142" example="/apkpure/versions/jp/jp.co.craftegg.band" path="/apkpure/versions/:region/:pkg" :paramsDesc="['區域代號', 'package name']">
|
||||
|
||||
## 大学通知
|
||||
|
||||
### 上海海事大学
|
||||
|
|
|
|||
|
|
@ -861,4 +861,7 @@ router.get('/sysu/sdcs', require('./routes/universities/sysu/sdcs'));
|
|||
router.get('/anigamer/new_anime', require('./routes/anigamer/new_anime'));
|
||||
router.get('/anigamer/anime/:sn', require('./routes/anigamer/anime'));
|
||||
|
||||
// Apkpure
|
||||
router.get('/apkpure/versions/:region/:pkg', require('./routes/apkpure/versions'));
|
||||
|
||||
module.exports = router;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,39 @@
|
|||
const axios = require('../../utils/axios');
|
||||
const cheerio = require('cheerio');
|
||||
const { DateTime } = require('luxon');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const { region, pkg } = ctx.params;
|
||||
const prefix = region === 'en' ? 'https://apkpure.com' : `https://apkpure.com/${region}`;
|
||||
let $ = await axios.get(`${prefix}/search?q=${pkg}`).then((r) => cheerio.load(r.data));
|
||||
const apppage = $('.search-title:nth-child(1)>a').attr('href');
|
||||
const link = `https://apkpure.com${apppage}/versions`;
|
||||
console.log(link);
|
||||
$ = await axios.get(link).then((r) => cheerio.load(r.data));
|
||||
ctx.state.data = {
|
||||
title: $('.ver-top-h1').text(),
|
||||
description: $('.ver-top-title>h2').text(),
|
||||
link: decodeURI(link),
|
||||
item: $('.ver li')
|
||||
.toArray()
|
||||
.map((ver) => ({
|
||||
title: $(ver)
|
||||
.find('.ver-item-n')
|
||||
.text(),
|
||||
description: $(ver)
|
||||
.find('a')
|
||||
.attr('title'),
|
||||
link: `https://apkpure.com${decodeURI(
|
||||
$(ver)
|
||||
.find('a')
|
||||
.attr('href')
|
||||
.split('?from')[0]
|
||||
)}`,
|
||||
pubDate: DateTime.fromISO(
|
||||
$(ver)
|
||||
.find('.update-on')
|
||||
.text()
|
||||
).toRFC2822(),
|
||||
})),
|
||||
};
|
||||
};
|
||||
Loading…
Reference in New Issue