Node.js爬虫个人博客,并利用Bat自动浏览

通过node.js对个人CSDN博客爬虫,获取个人博客列表,并将改列表内容注入到Bat批处理文件中,实现浏览器自动打开预览。

1、安装依赖

  npm 安装依赖包request、cheerio

   — request模块是用来请求网页的

   — cherrio是用来分析dom结构的(Nodejs版本的jquery)

2、爬虫获取个人CSDN博客列表

var cheerio = require('cheerio');
var request = require('request');
var createBat = require('./createbat').createBat;


var url = 'https://blog.csdn.net/zcs425171513';

var getBlogList = function () {
    var urlArray = new Array();
    request(url, function (err, res) {
        if (err) return console.error(err);
        var $ = cheerio.load(res.body.toString());

        $('.text-truncate a').each(function (idx, element) {
            var $element = $(element);
            urlArray.push({
                url: $element.attr('href')
            })
        })
        console.log(urlArray.length);
        createBat(urlArray)
    });
};

getBlogList()

  var $ = cheerio.load(res.body.toString());将请求响应的结果转换成dom结构,就可以利用jquery方法处理。获取对应的博客的链接地址,存放在Array中。并作为参数传入Bat文件生成的方法createBat。

Node.js爬虫个人博客,并利用Bat自动浏览_第1张图片

  有上图可知,对应的dom中$(‘.text-truncate a’)即可定位到对应的链接元素。

3、生成Bat批处理文件,并自动预览

var fs = require('fs');

var createBat = function (arr) {
    var resultFile = './auto.bat',
        header = '@echo off \n',
        content = '',
        openFirefox = 'start ""  "D:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe" ', //start后的空字符必须要有,否则就是打开默认浏览器的
        footer = 'ping 127.0.0.1 -n "60" \n taskkill /f /t /im firefox.exe';

    arr.forEach(function (item) {
        content += openFirefox + item.url + '"\n'
    })

    if (fs.existsSync(resultFile)) {
        fs.unlinkSync(resultFile)
    }
    fs.writeFileSync(resultFile, header + content + footer, 'utf-8')
}

module.exports = {
    createBat: createBat
}

   运用bat的start指令自动打开浏览器预览链接内容。循环编辑博客列表地址,拼接start指令需要的内容。并将拼接后的结果通过文件流写入到auto.bat文件中。每个人的浏览器安装地址不尽相同,根据实际情况酌情修改即可。

start  浏览器地址  打开链接地址

PS:通过该方法可以对某些页面的流量统计进行简单的提升

你可能感兴趣的:(JavaScript,NodeJS)