代码很简单。我只对 youtube.com 源代码的第一部分感兴趣,例如,当内容长度高于 10000 时,我想停止下载数据。我一直在尝试这样做,但没有成功。有什么想法吗?
var request = require('request');
var cheerio = require('cheerio');
var url = 'https://www.youtube.com/';
request(url, function(err, resp, body) {
if (err)
throw err;
$ = cheerio.load(body);
});
最佳答案
不要使用回调,它仅在请求完成时触发,而您的请求永远不会被触发。
使用流:
var request = require('request')
var url = 'https://www.youtube.com/'
var stream = request({
url: url,
encoding: 'utf8'
})
var len = 0
var result = ''
stream.on('data', function(d) {
len += Buffer.byteLength(d)
result += d
if (len > 1000) {
stream.abort()
console.log(d)
}
})
关于node.js - 限制 Node.js 请求中的正文内容长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21577251/