简介
isbot 是一个用于识别用户代理中是否包含爬虫蜘蛛标识符的 npm 包。该包能够判断大部分主流搜索引擎的爬虫,并返回一个布尔值,即 whetherUserAgentIsBot,以便于前端开发者进行相应处理。
安装
isbot 可以通过 npm 安装,使用以下命令:
npm install isbot
使用方法
isbot 的使用非常简单,导入所需包并使用 isbot 函数即可判断是否为爬虫。
-- -------------------- ---- ------- -- -- ----- - ----- ----- - ----------------- -- ------- -- ------------------ - ----------------- -- - ------- - ---- - ----------------- -- - --------- -
需要注意的是,isbot 函数接收一个参数,即用户代理 user agent。用户代理是一个浏览器或搜索引擎发送到服务器的字符串,其中包含了许多关于浏览器或搜索引擎的详细信息。
深入理解
isbot 的原理在于识别传入的用户代理中是否包含某些特定的字符串。这些字符串是由 isbot 包维护的一个固定列表。以下是 isbot 维护的部分包含爬虫标识字符串的列表(仅供参考,因为 isbot 的列表会不断更新):
bot, crawl, spider, slurp, facebookexternalhit, embedly, quora link preview, redditbot, googlebot, bingbot, applebot, yandexbot, duckduckbot, curl, Wget, HTTrack, PhantomJS, Puppeteer
如果用户代理中包含这些字符串中的一个或多个,则 isbot 函数将返回 true,表示传入的用户代理是爬虫。否则,isbot 函数将返回 false,表示传入的用户代理是人类。
示例
以下是一个简单的例子,用于根据用户代理字符串决定网页是否显示一个 “禁止爬虫” 的提示,具体代码如下:
-- -------------------- ---- ------- ----- ----- - ----------------- ----- -- - --------------------------- -- ----------- - ---------------------------------------------------------- - -------- - ---- - ---------------------------------------------------------- - ------- -
总结
isbot 作为一个简单而实用的 npm 包,为前端开发者提供了快捷有效地识别爬虫的方法。在开发过程中,我们可以使用 isbot 包来判断当前访问网站的是否为搜索引擎爬虫,从而采取相应的措施,例如屏蔽页面、设置 NoIndex 等等。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60904