如何检测LinkedIn爬虫对Web应用的访问?
检测LinkedIn爬虫的方法
服务端检测(推荐,准确性高)
服务端是判断爬虫的可靠场景,主要通过以下方式识别:
- 检查User-Agent请求头:LinkedIn官方爬虫的UA通常包含
LinkedInBot关键词(比如LinkedInBot/1.0、LinkedInBot/2.0),直接匹配该标识即可。示例代码:// Node.js 示例 const isLinkedInBot = (req) => { const userAgent = req.headers['user-agent'] || ''; return userAgent.includes('LinkedInBot'); };# Flask 示例 from flask import request def is_linkedin_bot(): user_agent = request.headers.get('User-Agent', '') return 'LinkedInBot' in user_agent - 匹配IP地址范围:LinkedIn会公开其爬虫使用的IP段,可将请求来源IP与这些官方公布的IP段做比对。注意定期更新IP列表,避免因IP段变动导致检测失效。
- 辅助检查其他请求头:部分LinkedIn爬虫会携带自定义请求头(比如
X-LinkedIn-User-Agent),或者Accept头的内容更偏向于抓取网页内容的需求,这些都可作为辅助判断依据。
客户端检测(仅作参考,可靠性低)
客户端检测爬虫的局限性很大,因为User-Agent可以被伪造,且LinkedIn爬虫通常不会执行前端JavaScript代码。如果一定要做前端判断,只能读取浏览器UA做简单匹配:
// 前端示例,仅作参考,不可依赖 const isLinkedInBot = () => { return navigator.userAgent.includes('LinkedInBot'); };
注意事项
- 不要只依赖单一检测方式,结合User-Agent和IP匹配能大幅提升准确性。
- 如果遇到UA是常规标识的情况,可以结合请求频率、来源IP等特征综合判断——比如来自LinkedIn官方IP段的请求,即便UA普通,大概率也是其爬虫。
内容的提问来源于stack exchange,提问作者Jonas
相关产品推荐
相关产品推荐

