加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
lesson4.js 1.74 KB
一键复制 编辑 原始数据 按行查看 历史
fox 提交于 2017-06-17 16:13 . init
var eventproxy = require('eventproxy')
var superagent = require('superagent')
var cheerio = require('cheerio')
var async = require('async')
var url = require('url')
var cnodeUrl = 'http://ireadweek.com/index.php/Index/index.html'
superagent.get(cnodeUrl)
.end(function(err, res) {
if (err) {
return console.error(err)
}
var topicUrls = []
// load txt
var $ = cheerio.load(res.text)
//
$('.hanghang-list>a').each(function(idx, element) {
var $element = $(element);
var href = url.resolve(cnodeUrl, $element.attr('href'))
topicUrls.push(href)
})
var ep = new eventproxy()
ep.after('topic_html', topicUrls.length, function(topics) {
topics = topics.map(function(topicPair) {
var topicUrl = topicPair[0]
var topicHtml = topicPair[1]
var $ = cheerio.load(topicHtml)
return ({
title: $('.hanghang-shu-content-btns').closest('a').attr('href').trim(),
href: topicUrl,
comment1: $('.hanghang-za-title').text().trim()
})
})
console.log('final:')
console.log(topics)
})
topicUrls.forEach(function(topicUrl) {
var delay = parseInt(Math.random() * 1000) //100-500ms
setTimeout(function() {
superagent.get(topicUrl)
.end(function(err, res) {
console.log('fetch ' + topicUrl + ' successful')
ep.emit('topic_html', [topicUrl, res.text])
})
}, delay)
})
// console.log(topicUrls)
})
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化