鍍金池/ 問(wèn)答/HTML/ 如何編寫(xiě)一個(gè)簡(jiǎn)易的node爬蟲(chóng)獲取任意網(wǎng)址的title呢?

如何編寫(xiě)一個(gè)簡(jiǎn)易的node爬蟲(chóng)獲取任意網(wǎng)址的title呢?

方法的參數(shù)為url 然后 返回值為 title。

如:

function getTitle(url){
 .......
 return title
}
getTitle('http://www.baidu.com')  

得到 "百度"

getTIttle('http://www.126.com') 

得到 "網(wǎng)易郵箱"

如下圖,如何寫(xiě)一個(gè)方法獲取任意網(wǎng)址的title呢?

clipboard.png

回答
編輯回答
只愛(ài)你

clipboard.png

2017年7月2日 00:51
編輯回答
苦妄

任意是做不到的,因?yàn)橛械木W(wǎng)站對(duì)cookie有要求,不符合的話是直接403的。

對(duì)于沒(méi)有驗(yàn)證要求的網(wǎng)站,最基本的使用http.get獲取html再解析即可。解析可以用正則或者cheerio

2017年12月10日 23:40
編輯回答
局外人

使用superagent+cheerio

superagent.get(url)
    .end((err, res) => {
        const $ = cheerio.load(res.text)
        console.log($('title').text())
    })
2017年3月26日 12:31
編輯回答
她愚我

純前端使用ajax或者iframe都會(huì)存在跨域問(wèn)題。
需要服務(wù)端進(jìn)行請(qǐng)求指定地址,獲取到地址對(duì)應(yīng)的頁(yè)面,然后提取出title標(biāo)簽中內(nèi)容。

2017年7月11日 02:35
編輯回答
孤慣

獲取任意網(wǎng)址的html頁(yè)面,獲取頁(yè)面中<title>標(biāo)簽里面的內(nèi)容。
如果想封裝成一個(gè)方法,那就將不同的功能分別寫(xiě)成函數(shù),依次調(diào)用。

2017年4月13日 15:50
編輯回答
傻丟丟

需要通過(guò)ajax獲取指定url的頁(yè)面內(nèi)容,然后再?gòu)闹蟹治龀銎錁?biāo)題

2018年8月17日 18:42
編輯回答
吃藕丑
// npm install request
var request = require('request');
request('https://www.taobao.com', function (error, response, body) {
    var array = /<title>(.*)<\/title>/gi.exec(body);
    if (array != null) {
        console.log('title:', array[1]);
    }
});
2018年2月26日 22:30