为了账号安全,请及时绑定邮箱和手机立即绑定

node批量下载读者文章

代码地址
需要在目录下创建名为 dz 的目录

安装依赖

```
    安装 node  npm
    # npm install cheerio --sava-dev
    # npm install request --sava-dev
```
const request= require('request');
const fs = require('fs');
const path = require('path');
const cheerio = require('cheerio');

const time = '2017_11'
const baseurl = 'http://www.52duzhe.com/'+time+'/';
const firsturl = baseurl + 'index.html';

function requestHtml(url) {
    return new Promise((resolve, reject)=>{
        request(url, function(err, res, body){
            if(!err && res.statusCode == 200){
                resolve(body);
            }
        })
    })
}

function main() {
    requestHtml(firsturl).then((res)=> {
        const $ = cheerio.load(res);
        const list = $('.booklist a');
        list.each(function(a,item){
            const newurl = baseurl+ $(item).attr('href');
            requestHtml(newurl).then((data)=>{
                let content = '';
                const $ = cheerio.load(data);
                let title = $('h1').text();
                let writer = $('#pub_date').text();
                let filename = path.join(__dirname, '/dz/'+title+'.txt');
                content += `<<${title}>>\n\n`;
                content += `${writer}\n\n`;
                let text = $('.blkContainerSblkCon p');
                text.each(function(a, b){
                    content += $(b).text();
                })
                fs.writeFile(filename, content, function(err){
                    if(err){
                        console.log(err);
                    }else{
                        console.log(filename+'创建成功');
                    }
                })
            })
        })
    })
}

main();
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Web前端工程师
手记
粉丝
846
获赞与收藏
196

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消