손쉽게 시작하다------node.js 파충류 (소설)
5193 단어 node.파충류
코드는 다음과 같습니다.
var fs = require("fs");
var cheerio = require("cheerio");
var charset = require("superagent-charset");
var request = charset(require("superagent"));
//
function file(data) {
fs.open(" .txt", "a+", function(err, fd) {
if (err) { console.error(err)}
fs.writeFile(fd, data, function(err) {if (err) {return console.error(err);}});
fs.close(fd, function(err) {
if (err) {console.log(err)}
console.log(" ");
});
});
}
// file()
// title href
function getHref(url) {
request
.get(url)
.charset('gbk')
.set("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36")
.then( function (res) {
var $ = cheerio.load(res.text)
$('.listmain dd').each(function(i, elem) {
var href = $(this).find('a').attr('href');
var title = $(this).find('a').text();
sleep_func(getContent, href, title);
});
});
}
function getContent(href, title) {
request
.get("http://www.biqukan.com/" + href)
.charset("gbk")
.set("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36")
.then(function(res){
var $ = cheerio.load(res.text);
var content = $("#content").text();
file(title + "
" +content + "
");
});
}
function sleep_func(func, arg1, arg2) {
setTimeout(function () {
func(arg1, arg2);
}, 2000);
}
// getContent("/0_790/20831918.html");
getHref("http://www.biqukan.com/0_790/");
이 파충류의 몇 가지 문제는 해결해야 한다.