如何使用Express检测搜索引擎优化的网页抓取工具?

时间:2016-01-07 04:57:39

标签: npm web-crawler user-agent

我一直在搜索npm软件包,但它们似乎都没有维护,依赖于过时的用户代理数据库。是否有可靠且最新的软件包可以帮助我检测爬虫? (主要来自谷歌,Facebook,...搜索引擎优化)或者如果没有包裹,我可以自己写吗? (可能基于最新的用户代理数据库)

为了更清楚,我试图创建一个同构/通用的React网站,我希望它被搜索引擎索引,其标题/元数据可以通过Facebook获取,但我不是想要预先渲染所有正常请求,以便服务器不会过载,所以我想到的解决方案只是为抓取器请求预渲染

2 个答案:

答案 0 :(得分:1)

我没有添加任何内容来搜索npm包。但是你的问题是最新的用户代理数据库要建立你自己的包,我建议ua.theafh.net

目前,截至2014年11月的数据已达到目前为止,据我所知,超过540万个代理商也是用户代理商的最大搜索引擎。

答案 1 :(得分:1)

我找到的最佳解决方案是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