gpt4 book ai didi

node.js - 从抓取的网页中获取页面标题

转载 作者:IT老高 更新时间:2023-10-28 23:20:46 33 4
gpt4 key购买 nike

var http = require('http');
var urlOpts = {host: 'www.nodejs.org', path: '/', port: '80'};
http.get(urlOpts, function (response) {
response.on('data', function (chunk) {
var str=chunk.toString();
var re = new RegExp("(<\s*title[^>]*>(.+?)<\s*/\s*title)\>", "g")
console.log(str.match(re));
});

});

输出

user@dev ~ $ node app.js [ 'node.js' ] null null

我只需要得到标题。

最佳答案

我建议使用 RegEx.exec而不是 String.match .您还可以使用文字语法定义正则表达式,并且只定义一次:

var http = require('http');
var urlOpts = {host: 'www.nodejs.org', path: '/', port: '80'};
var re = /(<\s*title[^>]*>(.+?)<\s*\/\s*title)>/gi;
http.get(urlOpts, function (response) {
response.on('data', function (chunk) {
var str=chunk.toString();
var match = re.exec(str);
if (match && match[2]) {
console.log(match[2]);
}
});
});

代码还假设 title 将完全在一个 block 中,而不是在两个 block 之间拆分。最好保留 block 的聚合,以防 title 在 block 之间拆分。您可能还想在找到 title 后停止查找它。

关于node.js - 从抓取的网页中获取页面标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13087888/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com