Files
RSSHub/lib/v2/reuters/investigates.js
LyleLee 6b9db7a97f fix(route): Add v2 router to subscribe reuters.com and remove deprecated routes (#9761)
* Add v2 router to subscribe Reuters.com

* Fix Reuters document

* Fix Reuters radar

* Update docs/en/traditional-media.md

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

* Update docs/traditional-media.md

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

* Update docs/traditional-media.md

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

* Update docs/en/traditional-media.md, Delete empty paramDesc

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

* Update lib/v2/reuters/index.js default value setting

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

* Update lib/v2/reuters/index.js don't select all the time

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

* Update lib/v2/reuters/index.js test variable first

Co-authored-by: Rongrong <i@rong.moe>

* Update lib/v2/reuters/radar.js

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

* Update lib/v2/reuters/index.js clean code

Co-authored-by: Rongrong <i@rong.moe>

* Update lib/v2/reuters/index.js test variable first

Co-authored-by: Rongrong <i@rong.moe>

* Update lib/v2/reuters/index.js

Co-authored-by: Rongrong <i@rong.moe>

* Update lib/v2/reuters/index.js

Co-authored-by: Rongrong <i@rong.moe>

* Update lib/v2/reuters/investigates.js

Co-authored-by: Rongrong <i@rong.moe>

* Update lib/v2/reuters/maintainer.js

Co-authored-by: Rongrong <i@rong.moe>

* Update docs/en/traditional-media.md

Co-authored-by: Rongrong <i@rong.moe>

* Update docs/traditional-media.md

Co-authored-by: Rongrong <i@rong.moe>

* Update lib/v2/reuters/investigates.js

Co-authored-by: Rongrong <i@rong.moe>

* Update lib/v2/reuters/investigates.js

Co-authored-by: Rongrong <i@rong.moe>

* Remove old routes of reuters.com

* Update docs/traditional-media.md

Co-authored-by: Rongrong <i@rong.moe>

* Update lib/v2/reuters/maintainer.js

Co-authored-by: Rongrong <i@rong.moe>

* Update lib/v2/reuters/router.js deprecated promotes

Co-authored-by: Rongrong <i@rong.moe>

* Update docs/en/traditional-media.md deprecated warning

Co-authored-by: Rongrong <i@rong.moe>

* fix typo afica to africa

* Add reuters migration notes

* rename reuters routes navigation.js to common.js

* rename navigation to common

* Update docs/traditional-media.md

Co-authored-by: Rongrong <i@rong.moe>

* Update docs/traditional-media.md

Co-authored-by: Rongrong <i@rong.moe>

* Update docs/traditional-media.md

Co-authored-by: Rongrong <i@rong.moe>

* Update docs/traditional-media.md

Co-authored-by: Rongrong <i@rong.moe>

* Update docs/traditional-media.md

Co-authored-by: Rongrong <i@rong.moe>

* Update docs/traditional-media.md

Co-authored-by: Rongrong <i@rong.moe>

* Update docs/en/traditional-media.md

Co-authored-by: Rongrong <i@rong.moe>

* Update docs/traditional-media.md

Co-authored-by: Rongrong <i@rong.moe>

* Update docs/en/traditional-media.md

Co-authored-by: Rongrong <i@rong.moe>

* Update docs/en/traditional-media.md

Co-authored-by: Rongrong <i@rong.moe>

* Update docs/traditional-media.md

Co-authored-by: Rongrong <i@rong.moe>

* Update lib/v2/reuters/router.js

Co-authored-by: Rongrong <i@rong.moe>

* Update docs/en/traditional-media.md

Co-authored-by: Rongrong <i@rong.moe>

* Update docs/traditional-media.md

Co-authored-by: Rongrong <i@rong.moe>

* Update docs/en/traditional-media.md

Co-authored-by: Rongrong <i@rong.moe>

* Update docs/traditional-media.md

Co-authored-by: Rongrong <i@rong.moe>

* vscode auto format double qustion mark incorrect

* dont know what to prompt

* Update lib/v2/reuters/migration_prompt.js prompt deprecated routes

Co-authored-by: Rongrong <i@rong.moe>

* Update lib/v2/reuters/common.js

Co-authored-by: Rongrong <i@rong.moe>

* Update lib/v2/reuters/common.js

Co-authored-by: Rongrong <i@rong.moe>

* Update lib/v2/reuters/maintainer.js

Co-authored-by: Rongrong <i@rong.moe>

* Update docs/en/traditional-media.md

Co-authored-by: Rongrong <i@rong.moe>

* Update lib/v2/reuters/radar.js

Co-authored-by: Rongrong <i@rong.moe>

* Update docs/en/traditional-media.md

Co-authored-by: Rongrong <i@rong.moe>

* Update docs/en/traditional-media.md

Co-authored-by: Rongrong <i@rong.moe>

* Update docs/traditional-media.md

Co-authored-by: Rongrong <i@rong.moe>

* Update docs/traditional-media.md

Co-authored-by: Rongrong <i@rong.moe>

* Update lib/v2/reuters/common.js

Co-authored-by: Rongrong <i@rong.moe>

* style: lint

Co-authored-by: Rongrong <i@rong.moe>
2022-05-28 03:53:41 +08:00

40 lines
1.3 KiB
JavaScript

const got = require('@/utils/got');
const cheerio = require('cheerio');
const { parseDate } = require('@/utils/parse-date');
module.exports = async (ctx) => {
const rootUrl = 'https://www.reuters.com';
const currentUrl = `${rootUrl}/investigates`;
const response = await got(currentUrl);
const $ = cheerio.load(response.data);
const list = $('article.section-article-container.row')
.map((_, item) => ({
title: $(item).find('h2.subtitle').text(),
link: $(item).find('a.row.d-flex').prop('href'),
}))
.get();
const items = await Promise.all(
list.map((item) =>
ctx.cache.tryGet(item.link, async () => {
const detailResponse = await got(item.link);
const content = cheerio.load(detailResponse.data);
item.title = content('title').text();
item.description = content('#paragraph-0').text();
item.pubDate = parseDate(content('time[itemprop="datePublished"]').attr('datetime'));
item.author = content('meta[property="og:article:publisher"]').attr('content');
return item;
})
)
);
ctx.state.data = {
title: $('h1.series-subtitle').text(),
link: currentUrl,
item: items,
};
};