1 Star 0 Fork 0

张毅/geektime2pdf

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
downloadComment.js 1.93 KB
一键复制 编辑 原始数据 按行查看 历史
一步 提交于 2019-05-07 23:35 . 导出专栏文章评论
// 获取每篇文章下面所有的评论
const config = require('./config.js');
const superagent = require('superagent');
const utils = require('./utils');
/**
* 获取每篇文章下面所有的评论
* @param {String} 文章的链接地址
* @param {Number} 文章的ID
*/
async function downloadComments (url, articleId, prev = 0) {
console.log('开始获取 ', url, '评论');
let commentsArr = [];
let commentsTotal = 0;
async function run (prev) {
try {
let res = await superagent.post(config.commentUrl)
.set({
'Content-Type': 'application/json',
'Cookie': config.cookie,
'Referer': url,
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'
}).send({
aid: articleId,
prev: prev
});
if (res.body && res.body.error && res.body.error.code){
console.log('error msg', res.body.error.msg);
throw new Error(res.body.error.msg);
};
let resData = res.body.data
commentsTotal = resData.page.count;
let nextPage = resData.page.more;
commentsArr.push(...resData.list);
if (nextPage) {
prev = resData.list[resData.list.length -1].score;
await utils.sleep(1);
await run(prev);
};
}catch (err){
console.log(`获取 评论 ${url} err`, err.message);
};
};
await run(prev);
// console.log('commentsArr', commentsArr);
// console.log('commentsTotal', commentsTotal);
console.log('结束获取 ', url, '评论 总评论数为', commentsTotal);
return {commentsArr, commentsTotal};
};
// downloadComments('https://time.geekbang.org/column/article/82337',82337);
module.exports = downloadComments;
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/zhangyiaa/geektime2pdf.git
git@gitee.com:zhangyiaa/geektime2pdf.git
zhangyiaa
geektime2pdf
geektime2pdf
master

搜索帮助