打開服務器日誌,看到成片的 Googlebot、Bingbot、Baiduspider 记錄,很容易得出“搜尋引擎很重视我的站”這個结论。但 User-Agent 只是請求头里的一串字符串,任何人都能随手寫上。日誌里的蜘蛛身份,需要驗證之後才能采信。
為什么會有假蜘蛛
常见動机大致有几類:采集程序借用爬虫身份,指望绕過 robots.txt 的限制,把内容批量抓走;安全掃描工具用常见爬虫 UA 降低被拦截的概率;部分监控探针和統計脚本也預設带着爬虫标识。几種情况叠加,日誌里的蜘蛛訪問量就可能被明顯高估。
三步驗證:從粗到细
第一步:看 User-Agent,但別只看它
UA 适合做初筛。明顯的拼寫错誤、早已過时的版本号、把多個引擎标识拼在一起的字符串,都是可疑信号。不過伪造得規整的 UA 從字面上看不出来,需要繼續往下查。
第二步:反向 DNS 校驗
主流搜尋引擎的爬虫 IP,通常能反解到官方域名(例如 googlebot.com、search.msn.com、baidu.com 等),並且用得到的主机名再正向解析,能回到同一個 IP。反解不出官方域名,或者正反查结果對不上,基本可以判定為伪装。
- Google:對来源 IP 做反向 DNS,再用主机名正向解析,两邊一致才可信。
- Bing:同样看 IP 归属與主机名是否指向微软自有網段。
- 百度:结合官方公布過的爬虫 IP 段與反解结果一起判断。
各引擎的帮助文档里都寫過自己的驗證方式,動手前先查一遍,比凭印象判断靠谱。
第三步:看行為特征
真爬虫的訪問模式相對規律:抓取频率會随站点响應速度調整,會遵守 robots 規則,請求的也多是站内連結能到達的 URL。反過来说,短時間高频請求大量带參數的 URL、只盯着某個目錄猛抓、完全不做缓存判断的行為,更接近采集器而非搜尋引擎。
假蜘蛛會带来什么影响
- 統計失真:把伪装流量当成搜尋引擎抓取,會誤判抓取预算和收錄趋势。
- 资源消耗:采集流量挤占带宽和資料库连接,真正的爬虫反而變慢。
- 安全風險:部分掃描器會顺带探测後台、接口和敏感文件。
- 决策誤導:看到蜘蛛變多就以為收錄马上會涨,但日誌數量與頁面是否進入索引並没有直接關系。
處理方式
- 保留原始日誌,先做過滤和标记,不要急着删。
- 在 WAF 或服務器层按 IP、請求频率、路径特征做限速和拦截。
- 對驗證通過、確認属于官方的 IP 段放行,避免誤伤正常抓取。
- robots.txt 只能约束守規矩的爬虫,對伪装者作用有限,不要指望它挡住采集。
- 需要長期观察时,把日誌導入分析工具,按驗證结果分成真實爬虫、疑似伪装、普通用戶三類分別看。
蜘蛛訪問量是抓取层面的資料,不是收錄结果。日誌热闹只說明有人来抓,頁面進不進索引,還得單獨去看它的索引狀態。
小结
判断日誌里的蜘蛛真假,核心是三件事:UA 初筛、反向 DNS 校驗、行為比對。把這三步做成固定流程,再看抓取資料时心里才有底,也不容易被虚高的蜘蛛訪問量牵着走。