diff --git a/lib/routes/9to5/subsite.js b/lib/routes/9to5/subsite.js index be23af7e7..08851724c 100644 --- a/lib/routes/9to5/subsite.js +++ b/lib/routes/9to5/subsite.js @@ -1,7 +1,6 @@ const axios = require('@/utils/axios'); +const parser = require('@/utils/rss-parser'); const utils = require('./utils'); -const Parser = require('rss-parser'); -const parser = new Parser(); module.exports = async (ctx) => { let title = '9To5', diff --git a/lib/routes/bbc/index.js b/lib/routes/bbc/index.js index 15d80cccf..d5378b6f9 100644 --- a/lib/routes/bbc/index.js +++ b/lib/routes/bbc/index.js @@ -1,8 +1,7 @@ const axios = require('@/utils/axios'); +const parser = require('@/utils/rss-parser'); const cheerio = require('cheerio'); const utils = require('./utils'); -const Parser = require('rss-parser'); -const parser = new Parser(); module.exports = async (ctx) => { let feed, title, link; diff --git a/lib/routes/caixin/blog.js b/lib/routes/caixin/blog.js index 3dabbdcbc..639d7ae09 100644 --- a/lib/routes/caixin/blog.js +++ b/lib/routes/caixin/blog.js @@ -1,8 +1,6 @@ const axios = require('@/utils/axios'); +const parser = require('@/utils/rss-parser'); const cheerio = require('cheerio'); -const { ua } = require('@/config'); -const Parser = require('rss-parser'); -const parser = new Parser({ headers: { 'User-Agent': ua } }); async function load(link, need_feed_description) { const response = await axios.get(link); diff --git a/lib/routes/ft/utils.js b/lib/routes/ft/utils.js index 88860d3ae..9a7219ef7 100644 --- a/lib/routes/ft/utils.js +++ b/lib/routes/ft/utils.js @@ -1,6 +1,6 @@ const axios = require('@/utils/axios'); +const parser = require('@/utils/rss-parser'); const cheerio = require('cheerio'); -const Parser = require('rss-parser'); const ProcessFeed = ($, link) => { const title = $('h1').text(); @@ -36,7 +36,6 @@ const ProcessFeed = ($, link) => { }; const getData = async ({ site = 'www', channel }) => { - const parser = new Parser(); let feed; if (channel) { diff --git a/lib/routes/guardian/guardian.js b/lib/routes/guardian/guardian.js index 4f0568d0c..9f935eb64 100644 --- a/lib/routes/guardian/guardian.js +++ b/lib/routes/guardian/guardian.js @@ -1,7 +1,6 @@ const axios = require('@/utils/axios'); +const parser = require('@/utils/rss-parser'); const utils = require('./utils'); -const Parser = require('rss-parser'); -const parser = new Parser(); const config = { editorial: { diff --git a/lib/routes/idownloadblog/index.js b/lib/routes/idownloadblog/index.js index e2e0c632f..af523b382 100644 --- a/lib/routes/idownloadblog/index.js +++ b/lib/routes/idownloadblog/index.js @@ -1,7 +1,6 @@ const axios = require('@/utils/axios'); +const parser = require('@/utils/rss-parser'); const cheerio = require('cheerio'); -const Parser = require('rss-parser'); -const parser = new Parser(); module.exports = async (ctx) => { const feed = await parser.parseURL('https://www.idownloadblog.com/feed'); diff --git a/lib/routes/nytimes/index.js b/lib/routes/nytimes/index.js index 5c314cb86..088bc3c5e 100644 --- a/lib/routes/nytimes/index.js +++ b/lib/routes/nytimes/index.js @@ -1,8 +1,7 @@ const axios = require('@/utils/axios'); +const parser = require('@/utils/rss-parser'); const utils = require('./utils'); const cheerio = require('cheerio'); -const Parser = require('rss-parser'); -const parser = new Parser(); module.exports = async (ctx) => { let { lang = '' } = ctx.params; diff --git a/lib/routes/verge/index.js b/lib/routes/verge/index.js index da152e6f3..bd8c23fa5 100644 --- a/lib/routes/verge/index.js +++ b/lib/routes/verge/index.js @@ -1,7 +1,6 @@ const axios = require('@/utils/axios'); +const parser = require('@/utils/rss-parser'); const cheerio = require('cheerio'); -const Parser = require('rss-parser'); -const parser = new Parser(); module.exports = async (ctx) => { const feed = await parser.parseURL('https://www.theverge.com/rss/index.xml'); diff --git a/lib/routes/zimuzu/resource.js b/lib/routes/zimuzu/resource.js index 5e8b2f61a..64ec5d8de 100644 --- a/lib/routes/zimuzu/resource.js +++ b/lib/routes/zimuzu/resource.js @@ -1,9 +1,4 @@ -const Parser = require('rss-parser'); -const parser = new Parser({ - customFields: { - item: ['magnet'], - }, -}); +const parser = require('@/utils/rss-parser'); module.exports = async (ctx) => { const { id = 0 } = ctx.params; diff --git a/lib/routes/zzz/index.js b/lib/routes/zzz/index.js index 156872a32..c1bda6ef5 100644 --- a/lib/routes/zzz/index.js +++ b/lib/routes/zzz/index.js @@ -1,7 +1,6 @@ const axios = require('@/utils/axios'); +const parser = require('@/utils/rss-parser'); const cheerio = require('cheerio'); -const Parser = require('rss-parser'); -const parser = new Parser(); module.exports = async (ctx) => { const feed = await parser.parseURL('https://z-z-z.vip/feed'); diff --git a/lib/utils/rss-parser.js b/lib/utils/rss-parser.js new file mode 100644 index 000000000..4768d5674 --- /dev/null +++ b/lib/utils/rss-parser.js @@ -0,0 +1,14 @@ +const config = require('@/config'); +const Parser = require('rss-parser'); + +const parser = new Parser({ + customFields: { + item: ['magnet'], + }, + headers: { + 'User-Agent': config.ua, + 'X-APP': 'RSSHub', + }, +}); + +module.exports = parser;