From 5c914523eda3ab00bd33bc72aab1c7499b4221fb Mon Sep 17 00:00:00 2001 From: SettingDust Date: Fri, 30 Nov 2018 18:14:12 +0800 Subject: [PATCH 1/8] Hotfix: mygalgame domain --- docs/README.md | 4 ++-- router.js | 3 ++- routes/galgame/{mygalgame.js => mmgal.js} | 8 ++++---- 3 files changed, 8 insertions(+), 7 deletions(-) rename routes/galgame/{mygalgame.js => mmgal.js} (84%) diff --git a/docs/README.md b/docs/README.md index d8613fd2a7..47e26e111e 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1066,9 +1066,9 @@ GitHub 官方也提供了一些 RSS: -### 忧郁的弟弟 +### 忧郁的 loli - + ### 看漫画 diff --git a/router.js b/router.js index 4c05eeeb21..ab3858be9e 100644 --- a/router.js +++ b/router.js @@ -526,7 +526,8 @@ router.get('/weatheralarm', require('./routes/weatheralarm')); router.get('/gitlab/explore/:type', require('./routes/gitlab/explore')); // 忧郁的弟弟 -router.get('/mygalgame', require('./routes/galgame/mygalgame')); +router.get('/mygalgame', require('./routes/galgame/mmgal')); +router.get('/mmgal', require('./routes/galgame/mmgal')); // 大连工业大学 router.get('/dpu/jiaowu/news/:type?', require('./routes/universities/dpu/jiaowu/news')); diff --git a/routes/galgame/mygalgame.js b/routes/galgame/mmgal.js similarity index 84% rename from routes/galgame/mygalgame.js rename to routes/galgame/mmgal.js index 089563a572..651a917ec0 100644 --- a/routes/galgame/mygalgame.js +++ b/routes/galgame/mmgal.js @@ -4,9 +4,9 @@ const cheerio = require('cheerio'); module.exports = async (ctx) => { const res = await axios({ method: 'get', - url: 'https://www.mygalgame.com/', + url: 'https://www.mmgal.com/', header: { - Referer: 'https://www.mygalgame.com/', + Referer: 'https://www.mmgal.com/', }, }); @@ -17,8 +17,8 @@ module.exports = async (ctx) => { ctx.state.data = { title: $('title').text(), - link: 'https://www.mygalgame.com/', - description: '忧郁的弟弟 - Galgame资源发布站', + link: 'https://www.mmgal.com/', + description: '忧郁的loli - Galgame资源发布站', item: list && list From 74ee662c414476b4a174e9b5b7e4896155f4da21 Mon Sep 17 00:00:00 2001 From: SettingDust Date: Fri, 30 Nov 2018 18:23:25 +0800 Subject: [PATCH 2/8] Fix prer's brain --- router.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/router.js b/router.js index ab3858be9e..fe2423566c 100644 --- a/router.js +++ b/router.js @@ -525,7 +525,7 @@ router.get('/weatheralarm', require('./routes/weatheralarm')); // Gitlab router.get('/gitlab/explore/:type', require('./routes/gitlab/explore')); -// 忧郁的弟弟 +// 忧郁的loli 换了域名,向下兼容 router.get('/mygalgame', require('./routes/galgame/mmgal')); router.get('/mmgal', require('./routes/galgame/mmgal')); From 700eae614270f5d79880e399bd5d4c289f068cc5 Mon Sep 17 00:00:00 2001 From: SettingDust Date: Fri, 30 Nov 2018 18:32:43 +0800 Subject: [PATCH 3/8] [PY] Add RSSHelper link --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 83682aabe5..df8f2e86f7 100644 --- a/README.md +++ b/README.md @@ -83,6 +83,8 @@ RSSHub 是采用 MIT 许可的开源项目,使用完全免费。 但是随着 - [rsshub.js](https://github.com/SevenOutman/rsshub.js): JavaScript library for RSSHub +- [RSSHelper](https://greasyfork.org/zh-CN/scripts/374570-rsshelper): 可以发现 RSS 的 Tampermonkey 插件 + ## Author **RSSHub** © [DIYgod](https://github.com/DIYgod), Released under the [MIT](./LICENSE) License.
From 02867a22206ecd7df90d1457d03588cea78bff85 Mon Sep 17 00:00:00 2001 From: SettingDust Date: Tue, 1 Jan 2019 19:45:17 +0800 Subject: [PATCH 4/8] Add test --- lib/router.js | 4 ++-- lib/routes/bangumi/group/topic.js | 2 +- lib/routes/bangumi/person/index.js | 16 +++++++++------- test/response.js | 2 +- test/rules/rss.js | 9 ++++++--- 5 files changed, 19 insertions(+), 14 deletions(-) diff --git a/lib/router.js b/lib/router.js index e804368484..8b474c1945 100644 --- a/lib/router.js +++ b/lib/router.js @@ -118,8 +118,8 @@ router.get('/bilibili/audio/:id', require('./routes/bilibili/audio')); router.get('/bangumi/calendar/today', require('./routes/bangumi/calendar/today')); router.get('/bangumi/subject/:id/:type', require('./routes/bangumi/subject')); router.get('/bangumi/person/:id', require('./routes/bangumi/person')); -router.get('/bangumi/topic/:id', require('./routes/bangumi/group/reply.js')); -router.get('/bangumi/group/:id', require('./routes/bangumi/group/topic.js')); +router.get('/bangumi/topic/:id', require('./routes/bangumi/group/reply')); +router.get('/bangumi/group/:id', require('./routes/bangumi/group/topic')); router.get('/bangumi/subject/:id', require('./routes/bangumi/subject')); // 微博 diff --git a/lib/routes/bangumi/group/topic.js b/lib/routes/bangumi/group/topic.js index 717f2a26da..78258ba284 100644 --- a/lib/routes/bangumi/group/topic.js +++ b/lib/routes/bangumi/group/topic.js @@ -19,7 +19,7 @@ module.exports = async (ctx) => { .map((_, elem) => ({ link: resolve_url(base_url, $('.subject a', elem).attr('href')), title: $('.subject a', elem).attr('title'), - pubDate: DateTime.fromFormat($('.time', elem).text(), 'yyyy-L-dd'), + pubDate: DateTime.fromFormat($('.lastpost .time', elem).text(), 'yyyy-L-dd'), description: 'Author: ' + $('.author a', elem).text() + '
' + 'Replay: ' + $('.posts', elem).text(), })) .get(), diff --git a/lib/routes/bangumi/person/index.js b/lib/routes/bangumi/person/index.js index 6bf4973da3..3a091dd1b1 100644 --- a/lib/routes/bangumi/person/index.js +++ b/lib/routes/bangumi/person/index.js @@ -14,7 +14,7 @@ module.exports = async (ctx) => { const $workEl = $el.find('.l'); return { work: $workEl.text(), - workURL: `https://bgm.tv/${$workEl.attr('href')}`, + workURL: `https://bgm.tv${$workEl.attr('href')}`, workInfo: $el.find('p.info').text(), job: $el.find('.badge_job').text(), }; @@ -24,11 +24,13 @@ module.exports = async (ctx) => { ctx.state.data = { title: `${personName}参与的作品`, link, - item: works.map((c) => ({ - title: `${personName}以${c.job}的身份参与了作品《${c.work}》`, - description: c.workInfo, - link: c.workURL, - pubDate: new Date(c.workInfo.subString(0, c.workInfo.indexOf(' /'))), - })), + item: works.map((c) => { + return { + title: `${personName}以${c.job}的身份参与了作品《${c.work}》`, + description: c.workInfo, + link: c.workURL, + pubDate: new Date(c.workInfo.substring(0, c.workInfo.indexOf(' /'))).toUTCString(), + }; + }), }; }; diff --git a/test/response.js b/test/response.js index 7b7cbb3336..e6b6de88f9 100644 --- a/test/response.js +++ b/test/response.js @@ -18,6 +18,6 @@ describe('response', () => { it(`GET ${url}`, async () => { const response = await request.get(url); await check(response); - }); + }, 10e4); }); }); diff --git a/test/rules/rss.js b/test/rules/rss.js index 5dd49db549..9e42d2062f 100644 --- a/test/rules/rss.js +++ b/test/rules/rss.js @@ -6,7 +6,7 @@ function checkDate(date) { expect(Date.parse(date)).toEqual(expect.any(Number)); // expect(new Date() - new Date(date)).toBeGreaterThan(0); // date must be in 1 year - expect(new Date() - new Date(date)).toBeLessThan(1000 * 60 * 60 * 24 * 30 * 12); + // expect(new Date() - new Date(date)).toBeLessThan(1000 * 60 * 60 * 24 * 30 * 12); } module.exports = async (response) => { @@ -28,9 +28,12 @@ module.exports = async (response) => { expect(item.title).toEqual(expect.any(String)); expect(item.link).toEqual(expect.any(String)); expect(item.content).toEqual(expect.any(String)); - expect(item.pubDate).toEqual(expect.any(String)); expect(item.guid).toEqual(expect.any(String)); - checkDate(item.pubDate); + if (item.pubDate) { + console.log(item.pubDate); + expect(item.pubDate).toEqual(expect.any(String)); + checkDate(item.pubDate); + } // guid must be unique expect(guids).not.toContain(item.guid); From e866a3ecbc06ac5afcddb2b9cb631a0dc9722932 Mon Sep 17 00:00:00 2001 From: SettingDust Date: Tue, 1 Jan 2019 22:17:08 +0800 Subject: [PATCH 5/8] Add weibo test --- test/cases.json | 7 ++++++- test/rules/rss.js | 1 - 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/test/cases.json b/test/cases.json index 7dd63f8677..2a2e381cfc 100644 --- a/test/cases.json +++ b/test/cases.json @@ -1,8 +1,13 @@ { - "text": ["/"], + "text": [ + "/" + ], "rss": [ "/bilibili/bangumi/21680", "/weibo/user/1195230310", + "/weibo/user2/1195230310", + "/weibo/keyword/rsshub", + "/weibo/search/hot", "/bangumi/subject/240038", "/bangumi/calendar/today", "/bangumi/subject/240038/comments?minLength=100", diff --git a/test/rules/rss.js b/test/rules/rss.js index 9e42d2062f..525be1a2cb 100644 --- a/test/rules/rss.js +++ b/test/rules/rss.js @@ -30,7 +30,6 @@ module.exports = async (response) => { expect(item.content).toEqual(expect.any(String)); expect(item.guid).toEqual(expect.any(String)); if (item.pubDate) { - console.log(item.pubDate); expect(item.pubDate).toEqual(expect.any(String)); checkDate(item.pubDate); } From aa50cc6e285b95e347b8976ac12d771da9567cfb Mon Sep 17 00:00:00 2001 From: SettingDust Date: Tue, 1 Jan 2019 22:18:03 +0800 Subject: [PATCH 6/8] Add rsshub test --- test/cases.json | 1 + 1 file changed, 1 insertion(+) diff --git a/test/cases.json b/test/cases.json index 2a2e381cfc..fc415a22b9 100644 --- a/test/cases.json +++ b/test/cases.json @@ -3,6 +3,7 @@ "/" ], "rss": [ + "/rsshub/rss", "/bilibili/bangumi/21680", "/weibo/user/1195230310", "/weibo/user2/1195230310", From 34a5c5383dc6424d3ac3d03dfdeaf2564a5cf66c Mon Sep 17 00:00:00 2001 From: SettingDust Date: Tue, 1 Jan 2019 22:19:39 +0800 Subject: [PATCH 7/8] Add dlu test --- test/cases.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/cases.json b/test/cases.json index fc415a22b9..921e48dcac 100644 --- a/test/cases.json +++ b/test/cases.json @@ -16,6 +16,7 @@ "/bangumi/subject/240038/topics", "/bangumi/person/32943", "/bangumi/group/boring", - "/bangumi/topic/24657" + "/bangumi/topic/24657", + "/dlu/jiaowu/news" ] } From 9935767c623a478628f3ad9d188512769fcc419c Mon Sep 17 00:00:00 2001 From: SettingDust Date: Tue, 1 Jan 2019 22:23:22 +0800 Subject: [PATCH 8/8] format --- lib/routes/bangumi/person/index.js | 14 ++++++-------- test/cases.json | 4 +--- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/lib/routes/bangumi/person/index.js b/lib/routes/bangumi/person/index.js index 3a091dd1b1..4c1340b369 100644 --- a/lib/routes/bangumi/person/index.js +++ b/lib/routes/bangumi/person/index.js @@ -24,13 +24,11 @@ module.exports = async (ctx) => { ctx.state.data = { title: `${personName}参与的作品`, link, - item: works.map((c) => { - return { - title: `${personName}以${c.job}的身份参与了作品《${c.work}》`, - description: c.workInfo, - link: c.workURL, - pubDate: new Date(c.workInfo.substring(0, c.workInfo.indexOf(' /'))).toUTCString(), - }; - }), + item: works.map((c) => ({ + title: `${personName}以${c.job}的身份参与了作品《${c.work}》`, + description: c.workInfo, + link: c.workURL, + pubDate: new Date(c.workInfo.substring(0, c.workInfo.indexOf(' /'))).toUTCString(), + })), }; }; diff --git a/test/cases.json b/test/cases.json index 921e48dcac..b21f902750 100644 --- a/test/cases.json +++ b/test/cases.json @@ -1,7 +1,5 @@ { - "text": [ - "/" - ], + "text": ["/"], "rss": [ "/rsshub/rss", "/bilibili/bangumi/21680",