diff --git a/docs/en/multimedia.md b/docs/en/multimedia.md
index 847302ce12..8e03ec5b2d 100644
--- a/docs/en/multimedia.md
+++ b/docs/en/multimedia.md
@@ -6,9 +6,9 @@ pageClass: routes
## 60-Second Science - Scientific American
-### Transcript
+
-
+Full transcript support for better user experience.
## 99% Invisible
diff --git a/docs/multimedia.md b/docs/multimedia.md
index aee581d66d..9719460d6a 100644
--- a/docs/multimedia.md
+++ b/docs/multimedia.md
@@ -12,9 +12,9 @@ pageClass: routes
## 60-Second Science - Scientific American
-### Transcript
+
-
+输出 Transcript 从而提供比官方(podcast)更好的使用体验。
## 99% Invisible
diff --git a/lib/router.js b/lib/router.js
index db2f74dc8d..bea4b8a0f0 100644
--- a/lib/router.js
+++ b/lib/router.js
@@ -985,7 +985,7 @@ router.get('/laosiji/feed', require('./routes/laosiji/feed'));
router.get('/laosiji/hotshow/:id', require('./routes/laosiji/hotshow'));
// Scientific American 60-Second Science
-router.get('/60s-science/transcript', require('./routes/60s-science/transcript'));
+router.get('/60s-science', require('./routes/60s-science/transcript'));
// 99% Invisible
router.get('/99percentinvisible/transcript', require('./routes/99percentinvisible/transcript'));
diff --git a/lib/routes/60s-science/transcript.js b/lib/routes/60s-science/transcript.js
index 4e16ef68f6..5c9f146ef1 100644
--- a/lib/routes/60s-science/transcript.js
+++ b/lib/routes/60s-science/transcript.js
@@ -3,6 +3,7 @@ const got = require('@/utils/got');
module.exports = async (ctx) => {
const url = `https://www.scientificamerican.com/podcast/60-second-science/`;
+ const cover = `https://static.scientificamerican.com/sciam/cache/file/484FA146-8892-477F-B38D18775563CC9E_small.jpg`;
const res = await got.get(url);
const $ = cheerio.load(res.data);
@@ -28,10 +29,17 @@ module.exports = async (ctx) => {
capture('.transcript__close').remove();
const intro = capture('.article-media__object').html() + '
';
- const contents = intro + capture('.transcript__inner').html();
+ const contents =
+ intro +
+ capture('.transcript__inner')
+ .html()
+ .replace(/
\[?\(?The above text.*this podcast.*?em.*?p>/g, '');
+ const track = capture('.podcasts__media > div > a').attr('href');
const single = {
title,
description: contents,
+ enclosure_url: track,
+ enclosure_type: 'audio/mpeg',
link: address,
guid: address,
author: author,
@@ -42,7 +50,10 @@ module.exports = async (ctx) => {
})
);
ctx.state.data = {
- title: 'Transcripts of SA 60-Second Science',
+ itunes_author: 'Scientific American',
+ itunes_category: 'Science',
+ image: cover,
+ title: '60-Second Science',
link: url,
item: out,
};