2016-01-07 28 views
3

我一直在尋找npm包,但他們似乎都沒有維護,並依賴於過時的用戶代理數據庫。有沒有一個可靠的最新軟件包可以幫助我檢測爬蟲? (大部分來自谷歌,Facebook,...搜索引擎優化),或者如果沒有軟件包,我可以自己寫嗎? (可能基於最新的用戶代理數據庫)如何使用Express檢測搜索引擎優化的網絡爬蟲?

爲了更清楚一點,我試圖做一個同構/通用React網站,我希望它被搜索引擎及其標題/元數據可以通過Facebook獲取,但我不想預先渲染所有正常的請求,以便服務器不會過載,所以我所考慮的解決方案只是預渲染來自爬蟲的請求。

回答

0

我沒有什麼可以添加您的搜索npm包。但你的問題爲最新的用戶代理數據庫做自己的包,我會建議ua.theafh.net

它有,目前,數據截至2014年11月,據我所知它是超過5.4百萬代理商也是用戶代理的最大搜索引擎。

+0

它似乎是所有看到的用戶代理的分貝,不是嗎?因此,如何使用它來判斷用戶代理字符串是否來自搜尋器? – KwiZ

+0

哦,我看到,有一個「類」欄,它分類如果它是瀏覽器或機器人。但是,我必須比較整個字符串的平等嗎? – KwiZ

+0

順便說一句,似乎他們沒有API,所以我怎麼能得到機器人的用戶代理列表? – KwiZ

0

我已經找到了最好的解決方案是useragent庫,它可以讓你做到這一點:

var useragent = require('useragent'); 
// for an actual request use: useragent.parse(req.headers['user-agent']); 
var agent = useragent.parse('Googlebot-News'); 

// will log true 
console.log(agent.device.toJSON().family === 'Spider') 

它是快速和跟上最新不錯。似乎是最好的方法。在瀏覽器中運行上面的腳本:runkit