2017-06-11 13 views
0

metagetを使ってURLでメタタグを返す関数を作りたいと思います。 したがって、たとえばgetMeta( "http://google.com")を呼び出します。タイトルを返します。Metaget関数NodeJS

私は多くのことを試しましたが、動作させることはできません。

おかげ

答えて

0

それはmetagetグラブマークアップから<meta>タグのように見えます。この場合、<title>タグに興味があるようです。ここで私はそれがmetagetソースコードに基づいて動作するようになった方法は次のとおりです。

var cheerio = require('cheerio'); 
var request = require('request'); 

function fetch (uri, callback) { 
    var options = { 
    url: uri, 
    headers: { 
     'User-Agent': 'request' 
    } 
    }; 

    request.get(options, function (error, response, body) { 
    if (!error && response.statusCode == 200) { 
     var $ = cheerio.load(body); 
     var title = $('title'); 
     callback(null, title.text()); 
    }else{ 
     callback(new Error('Bad Request' + response.statusCode)); 
    } 
    }); 
} 

fetch('https://google.com', function (err, meta_response) { 
    if (err) return console.log(err); 
    console.log(meta_response); // Outputs: Google 
}); 

これだけのページデータを要求すると、タイトルタグのテキストを解析するcheerioを使用しています。

関連する問題