feat: add 妈咪帮 (#5771)

Co-authored-by: Henry Wang <hi@henry.wang>
This commit is contained in:
Ethan Shen
2020-10-03 00:14:20 +01:00
committed by GitHub
co-authored by Henry Wang
parent 63dc0d93b9
commit daeace687d
3 changed files with 62 additions and 0 deletions
+24
View File
@@ -950,6 +950,30 @@ area 分区选项
<Route author="xyqfer" example="/laosiji/hotshow/128" path="/laosiji/hotshow/:id" :paramsDesc="['节目 id']"/>
## 妈咪帮
<Route author="nczitzk" example="/mamibuy" path="/mamibuy/:caty?/:age?/:sort?" :paramsDesc="['分类,见下表,默认为全分類', '岁数,见下表,默认为不限', '排序,见下表,默认为最新']">
分类
| 全分類 | 小兒醫護 | 幼兒教育 | 育兒成長 | 母乳餵哺 | 寶寶飲食 | 用品交流 | 女人聊天 | 居家生活 | 親子旅遊 / 好去處 | 媽咪扮靚 | 生活閒談 | 懷孕交流 |
| ------ | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | ----------------- | -------- | -------- | -------- |
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
岁数
| 不限 | 懷孕中 | 生產後 | 0~1 歲 | 1~3 歲 | 3~6 歲 | 6 歲以上 |
| ---- | ------ | ------ | ------ | ------ | ------ | -------- |
| 0 | 1 | 2 | 3 | 4 | 5 | 6 |
排序
| 最新 | 推薦 | 熱門 |
| ---- | ---- | ---- |
| 1 | 2 | 3 |
</Route>
## 梅花网
### 作品
+3
View File
@@ -3242,6 +3242,9 @@ router.get('/appsales/:caty?/:time?', require('./routes/appsales/index'));
// CGTN
router.get('/cgtn/top', require('./routes/cgtn/top'));
// 妈咪帮
router.get('/mamibuy/:caty?/:age?/:sort?', require('./routes/mamibuy/index'));
// Mercari
router.get('/mercari/:type/:id', require('./routes/mercari/index'));
+35
View File
@@ -0,0 +1,35 @@
const got = require('@/utils/got');
const cheerio = require('cheerio');
module.exports = async (ctx) => {
ctx.params.caty = ctx.params.caty || '0';
ctx.params.age = ctx.params.age || '0';
ctx.params.sort = ctx.params.sort || '1';
const currentUrl = `https://mamibuy.com.hk/talk/article/?cid=${ctx.params.caty}&aid=${ctx.params.age}&s=${ctx.params.sort}`;
const response = await got({
method: 'get',
url: currentUrl,
});
const $ = cheerio.load(response.data);
const list = $('div.masonry-item')
.map((_, item) => {
item = $(item);
const photos = item.find('div.content-photo').html();
const title = item.find('div.content-title').text();
const subtitle = item.find('div.content-subtitle').text();
return {
title,
link: item.find('a.link-black').attr('href'),
description: `${photos}<p>${subtitle}</p>`,
};
})
.get();
ctx.state.data = {
title: `MamiBuy 媽咪幫`,
link: currentUrl,
item: list,
};
};