【JS】nodejs爬取简单网站小说生成txt

nodejs爬取简单网站小说生成txt

玛德致发布于 24 分钟前

找了一个没有反爬虫机制的普通网站,应该是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('写入成功');

})

})

最终成果:
【JS】nodejs爬取简单网站小说生成txt

初次尝试,之后再试试爬异步请求的网站,如有问题请指出,感谢。

javascriptnode.js

阅读 21更新于 22 分钟前

本作品系原创,采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议

avatar

玛德致

272 声望

5 粉丝

0 条评论

得票时间

avatar

玛德致

272 声望

5 粉丝

宣传栏

找了一个没有反爬虫机制的普通网站,应该是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('写入成功');

})

})

最终成果:
【JS】nodejs爬取简单网站小说生成txt

初次尝试,之后再试试爬异步请求的网站,如有问题请指出,感谢。

以上是 【JS】nodejs爬取简单网站小说生成txt 的全部内容, 来源链接: utcz.com/a/107435.html

回到顶部