找了一个没有反爬虫机制的一般网站,应该是ssr的,间接申请返回的html中就有全副的dom内容,没有异步申请,所以抓内容很容易。

一开始应用js脚本,发现申请跨域,所以改为node发送,步骤和代码很简略。

1.异步申请

应用了request-promise包+promise

2.解决内容

应用了cheerio,返回的内容间接是残缺的html,cheerio能够把字符串的html转为dom构造,用法和jq差不多,很不便,而且我扒的网站页面构造也很简略,所有的小说文本都在id为content的div里

3.生成txt

间接fs写入文件即可

全副代码

    var rp = require('request-promise');    var cheerio = require('cheerio');    var fs = require('fs')        var start = 786776    var end = 786844    var arr = new Array(end-start+1).fill(null).map(function(item,index){      return rp('小说网址'+(start+index)+'.html')    })    Promise.all(arr).then(function(res,err){      if(err){        console.log('err')      }      var str=''      res.map(function(item,index){        var $ = cheerio.load(item.toString());        var table=$('body').find('#content').eq(0).text();        str+=table      })      fs.writeFile('恶徒.txt',str,'utf8',function(error){          if(error){              console.log(error);              return false;          }          console.log('写入胜利');      })    })

最终成绩:

首次尝试,之后再试试爬异步申请的网站,如有问题请指出,感激。