首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检测网络爬虫搜索引擎优化,使用Express?

如何检测网络爬虫搜索引擎优化,使用Express?
EN

Stack Overflow用户
提问于 2016-01-07 12:57:39
回答 3查看 2K关注 0票数 5

我一直在搜索npm包,但它们似乎都没有得到维护,并且都依赖于过时的用户代理数据库。有没有可靠的和最新的包,可以帮助我检测爬虫?(主要来自Google,Facebook,...对于SEO),或者如果没有包,我可以自己写吗?(可能基于最新的用户代理数据库)

更清楚地说,我正在尝试创建一个同构的/通用的React网站,我希望它可以被搜索引擎索引,它的标题/元数据可以由Facebook获取,但我不想在所有正常请求上预渲染,这样服务器就不会超载,所以我考虑的解决方案只是对来自爬虫的请求进行预渲染

EN

回答 3

Stack Overflow用户

发布于 2017-05-12 17:14:46

我找到的最好的解决方案是useragent库,它允许您这样做:

代码语言:javascript
复制
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

票数 2
EN

Stack Overflow用户

发布于 2016-01-07 19:14:27

对于您搜索npm包,我没有什么可添加的。但是您的问题对于一个最新的用户代理数据库来构建您自己的包,我建议您使用ua.theafh.net

目前,它拥有截至2014年11月的数据,据我所知,它拥有超过540万代理,也是最大的用户代理搜索引擎。

票数 1
EN

Stack Overflow用户

发布于 2021-08-21 02:48:43

我发现这个内置了isbot()函数的isbot包。在我看来,这个包得到了适当的维护,而且它们保持了所有的up-to-date

使用:

代码语言:javascript
复制
const isBot = require('isbot');

...

isBot(req.get('user-agent'));

包:https://www.npmjs.com/package/isbot

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34647657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档