我需要获得文档标题。
所以我尝试发送请求,然后通过paser响应html获取标题。
示例(通过nodejs模块request
):
request.get("http://www.google.com", function(err, res, body) {
var title = body.match(/<title>(.*?)</title>/g)[1];
})
但是当文件特别大时。请求很慢。
有没有办法快速获得文档标题?请建议。感谢。
答案 0 :(得分:1)
请求可以在收到解压缩数据时为您提供:http://github.com/request/request#examples(第二个示例)
您可以继续将收到的数据附加到缓冲区中,并检查它是否还有您想要的内容(&#34; </title>
&#34;)。一旦得到它,您就可以获得标题并忽略流中的其余缓冲区。
var request = require('request');
var buffer = '';
var flag = 0;
request({
method: 'GET',
uri: 'http://www.google.com',
gzip: true
}).on('data', function(data) {
if (buffer.indexOf('</title>') == -1)
buffer += data;
else done();
});
function done() {
if (flag) return;
flag++;
var title = buffer.match(/<title>(.*?)<\/title>/)[1];
console.log(title);
}