Add Apkpure (#1187)

This commit is contained in:
maple 2018-11-23 01:38:15 +08:00 committed by DIYgod
parent 7b14a279ff
commit 6dde28bcf9
3 changed files with 46 additions and 0 deletions

View File

@ -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']">
## 大学通知
### 上海海事大学

View File

@ -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;

View File

@ -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(),
})),
};
};