diff --git a/lib/routes/netease/dy.js b/lib/routes/netease/dy.js index 51364c675..da60a8472 100644 --- a/lib/routes/netease/dy.js +++ b/lib/routes/netease/dy.js @@ -7,7 +7,7 @@ module.exports = async (ctx) => { const { id } = ctx.params; const response = await got.get(`http://dy.163.com/v2/article/list.do?pageNo=1&wemediaId=${id}&size=10`); - + const charset = response.headers['content-type'].split('=')[1]; const list = response.data.data.list; let author, link; @@ -26,7 +26,7 @@ module.exports = async (ctx) => { responseType: 'buffer', }) ).data, - 'gbk' + charset ) ); const $ = cheerio.load(html, { decodeEntities: false }); diff --git a/lib/routes/netease/dy2.js b/lib/routes/netease/dy2.js index c9344bbf5..9821cdb97 100644 --- a/lib/routes/netease/dy2.js +++ b/lib/routes/netease/dy2.js @@ -8,7 +8,8 @@ module.exports = async (ctx) => { const response = await got.get(url, { responseType: 'buffer' }); - const data = iconv.decode(response.data, 'gbk'); + const charset = response.headers['content-type'].split('=')[1]; + const data = iconv.decode(response.data, charset); const $ = cheerio.load(data, { decodeEntities: false }); const list = $('.media_articles ul li') @@ -39,7 +40,7 @@ module.exports = async (ctx) => { responseType: 'buffer', }) ).data, - 'gbk' + charset ) ); content = cheerio.load(itemData, { decodeEntities: false });