Quantcast
Channel: CNode:Node.js专业中文社区
Viewing all articles
Browse latest Browse all 14821

萌新弱弱的问个问题,关于回调的。爬虫

$
0
0
//爬取到的html源码
var html=''

//b函数处理爬取的源码然后处理返回一个结果
var newHtml=''
app.post('/',function(req,res){
	http.get(req.body.url,function(res){
		//巴拉巴拉。。这里获取了整个html的源码 html
		res.on('end',function(){
			//对爬取的结果进行处理
			var newHtml=b(html)
		})
	
	res.send(newHtml)	
	})
	})

那我怎么才能拿到这个newHtml了,res.send()啊??

如果可以的话,能说一下原理是什么吗

如果要改进下,比如,可以获取https和http的

//balabala
function getHtml(url){
var html=''
	//balabala  判断
	http.get(ur;,function(httpRes){
		//balabala
		httpRes.on('end',function(){
			//调用b()加工获取的html
			return obj=b(html)	
		})
	})
}

然后在路由里就直接是

//balabala

app.post('/',function(req.res){
	var obj=getHtml(req.body.url)
	res.send(obj)
})

这样字应该不能获取到修改后的obj吧?


Viewing all articles
Browse latest Browse all 14821

Trending Articles