頭條搜索作為國(guó)內(nèi)主流搜索引擎之一,其核心爬蟲程序Bytespider承擔(dān)著網(wǎng)頁(yè)抓取、索引構(gòu)建與內(nèi)容更新的關(guān)鍵任務(wù)。為幫助站長(zhǎng)準(zhǔn)確識(shí)別官方爬蟲、優(yōu)化網(wǎng)站抓取體驗(yàn),本文將詳細(xì)介紹Bytespider的技術(shù)特征、IP范圍、工作流程及驗(yàn)證方法,助力網(wǎng)站與頭條搜索生態(tài)高效對(duì)接。
User-Agent(UA)是爬蟲身份的核心標(biāo)識(shí),頭條搜索Bytespider的UA字符串統(tǒng)一以“Bytespider”作為標(biāo)識(shí)(首字母大寫),并附帶官方站長(zhǎng)平臺(tái)信息,不同終端環(huán)境下的UA格式如下:
- PC端UA:`Mozilla/5.0 (compatible; Bytespider; https://zhanzhang.toutiao.com/) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.0.0 Safari/537.36`
該UA模擬Chrome瀏覽器特征,包含兼容性標(biāo)識(shí)及站長(zhǎng)平臺(tái)鏈接,用于識(shí)別PC端爬蟲請(qǐng)求。
- Android端UA:`Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; https://zhanzhang.toutiao.com/)`
移動(dòng)端UA明確標(biāo)注“Mobile”屬性,適配Android系統(tǒng)環(huán)境,同時(shí)保留站長(zhǎng)平臺(tái)溯源信息。
- iOS端UA:`Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_2 like Mac OS X) AppleWebKit/537.36 (KHTML, like Gecko) Version/7.0 Mobile Safari/537.36 (compatible; Bytespider; https://zhanzhang.toutiao.com/)`
iOS端UA針對(duì)iPhone系統(tǒng)特性設(shè)計(jì),包含系統(tǒng)版本與瀏覽器版本信息,確保移動(dòng)端抓取適配性。
所有Bytespider的UA均包含`https://zhanzhang.toutiao.com/`官方標(biāo)識(shí),此為驗(yàn)證爬蟲真實(shí)性的關(guān)鍵依據(jù)。
為精準(zhǔn)識(shí)別爬蟲流量來源,頭條搜索的Bytespider爬蟲使用固定IP段進(jìn)行抓取,目前公開的IP字段共涉及10個(gè)C類網(wǎng)段,具體如下:
- 110.249.201.0/24
- 110.249.202.0/24
- 111.225.148.0/24
- 111.225.149.0/24
- 220.243.135.0/24
- 220.243.136.0/24
- 220.243.188.0/24
- 220.243.189.0/24
- 60.8.123.0/24
- 60.8.151.0/24
上述IP段為Bytespider的官方出口IP,所有通過非IP段發(fā)起的“Bytespider”請(qǐng)求均可能為第三方冒充,站長(zhǎng)需結(jié)合UA與IP雙重校驗(yàn)確保爬蟲身份真實(shí)性。
頭條搜索的索引構(gòu)建依賴Bytespider完成全流程自動(dòng)化處理,核心環(huán)節(jié)包括:
Bytespider基于超鏈分析算法,從種子頁(yè)面出發(fā),通過解析頁(yè)面中的內(nèi)鏈與外鏈,實(shí)現(xiàn)互聯(lián)網(wǎng)資源的廣度與深度優(yōu)先抓取。被抓取的網(wǎng)頁(yè)會(huì)被存儲(chǔ)為“網(wǎng)頁(yè)快照”,作為索引構(gòu)建的基礎(chǔ)數(shù)據(jù)源。由于超鏈網(wǎng)絡(luò)的廣泛性,理論上從一定規(guī)模的優(yōu)質(zhì)頁(yè)面出發(fā),可覆蓋絕大多數(shù)公開網(wǎng)頁(yè)。
抓取后的網(wǎng)頁(yè)需經(jīng)過多維度預(yù)處理,主要包括:關(guān)鍵詞提?。ɑ赥F-IDF與深度學(xué)習(xí)算法)、索引庫(kù)構(gòu)建(倒排索引結(jié)構(gòu)生成)、去重處理(SimHash指紋算法)、中文分詞(Jieba等分詞工具)、類型識(shí)別(HTML、JSON等格式判斷)、超鏈分析(PageRank權(quán)重計(jì)算)及內(nèi)容質(zhì)量評(píng)估(可讀性、原創(chuàng)性等維度)。預(yù)處理結(jié)果直接影響檢索服務(wù)的準(zhǔn)確性與效率。
用戶檢索請(qǐng)求觸發(fā)時(shí),系統(tǒng)從索引庫(kù)中匹配關(guān)鍵詞相關(guān)網(wǎng)頁(yè),結(jié)合網(wǎng)頁(yè)權(quán)重、時(shí)效性、用戶行為等指標(biāo)排序,最終返回包含標(biāo)題、URL、摘要及網(wǎng)頁(yè)快照的檢索結(jié)果,輔助用戶快速定位目標(biāo)內(nèi)容。
為防范非官方爬蟲偽裝,站長(zhǎng)可通過DNS反解析技術(shù)驗(yàn)證IP是否屬于Bytespider,不同操作系統(tǒng)的驗(yàn)證命令如下:
- Linux平臺(tái):使用`host`命令反解IP,例如`host 111.225.148.250`,若返回結(jié)果為`bytespider-xxx-xxx-xxx-xxx.crawl.bytedance.com`(.bytedance.com格式),則確認(rèn)為官方爬蟲。
- Windows/IBM OS/2平臺(tái):通過`nslookup -qt=ptr IP地址`實(shí)現(xiàn)反解,如返回域名以`.bytedance.com`結(jié)尾,則為真實(shí)Bytespider請(qǐng)求。
- macOS平臺(tái):采用`dig -x IP地址`命令,解析結(jié)果中若出現(xiàn)`.bytedance.com`域名,即驗(yàn)證通過。
反解析驗(yàn)證是識(shí)別冒充爬蟲的有效手段,非`.bytedance.com`域名的請(qǐng)求均需警惕。
若發(fā)現(xiàn)Bytespider抓取頻率過高導(dǎo)致網(wǎng)站負(fù)載異常(如響應(yīng)緩慢、服務(wù)宕機(jī)),站長(zhǎng)可通過頭條搜索站長(zhǎng)平臺(tái)的“抓取頻次”功能自定義抓取規(guī)則,平臺(tái)將在1個(gè)工作日內(nèi)生效并調(diào)整爬蟲行為。對(duì)于爬蟲身份、抓取策略等其他疑問,可發(fā)送郵件至`zhanzhang@bytedance.com`反饋,技術(shù)團(tuán)隊(duì)將及時(shí)響應(yīng)處理。