關於反爬蟲策略

1、爲何要反爬蟲

一、爬蟲佔總PV比例較高,這樣浪費錢(尤爲是三月份爬蟲)。html

三月份爬蟲是個什麼概念呢?每一年的三月份咱們會迎接一次爬蟲高峯期。前端

最初咱們百思不得其解。直到有一次,四月份的時候,咱們刪除了一個url,而後有個爬蟲不斷的爬取url,致使大量報錯,測試開始找咱們麻煩。咱們只好特地爲這個爬蟲發佈了一次站點,把刪除的url又恢復回去了。面試

可是當時咱們的一個組員表示很不服,說,咱們不能幹掉爬蟲,也就罷了,還要專門爲它發佈,這實在是太沒面子了。因而出了個主意,說:url能夠上,可是,絕對不給真實數據。安全

因而咱們就把一個靜態文件發佈上去了。報錯中止了,爬蟲沒有中止,也就是說對方並不知道東西都是假的。這個事情給了咱們一個很大的啓示,也直接成了咱們反爬蟲技術的核心:變動。測試

後來有個學生來申請實習。咱們看了簡歷發現她爬過攜程。後來面試的時候確認了下,果真她就是四月份害咱們發佈的那個傢伙。不過由於是個妹子,技術也不錯,後來就被咱們招安了。如今已經快正式入職了。網站

後來咱們一塊兒討論的時候,她提到了,有大量的碩士在寫論文的時候會選擇爬取OTA數據,並進行輿情分析。由於五月份交論文,因此嘛,你們都是讀過書的,大家懂的,前期各類DotA,LOL,到了三月份了,來不及了,趕忙抓數據,四月份分析一下,五月份交論文。加密

就是這麼個節奏。url

二、公司可免費查詢的資源被批量抓走,喪失競爭力,這樣少賺錢。htm

OTA的價格能夠在非登陸狀態下直接被查詢,這個是底線。若是強制登錄,那麼能夠經過封殺帳號的方式讓對方付出代價,這也是不少網站的作法。可是咱們不能強制對方登陸。那麼若是沒有反爬蟲,對方就能夠批量複製咱們的信息,咱們的競爭力就會大大減小。接口

競爭對手能夠抓到咱們的價格,時間長了用戶就會知道,只須要去競爭對手那裏就能夠了,不必來攜程。這對咱們是不利的。

三、爬蟲是否涉嫌違法? 若是是的話,是否能夠起訴要求賠償?這樣能夠賺錢。

這個問題我特地諮詢了法務,最後發現這在國內仍是個擦邊球,就是有可能能夠起訴成功,也可能徹底無效。因此仍是須要用技術手段來作最後的保障。

2、反爬蟲

一、網站不一樣地方的文本內容添加不一樣的自帶標籤,增長對方數據清理難度。

二、關鍵數據由文本轉圖片,甚至添加水印等。目前市場上圖片ocr識別沒法有效轉文字,讓對方即便獲取了圖片也沒法有效使用。

三、網站相關頁面的列表查詢,限制總頁數的展現。好比數據一共1K頁,相關接口卻只對外展現前十頁。對方找不到入口最多爬取10頁數據。

四、間接關閉網站核心數據查看入口,好比內容的查看像百度文庫同樣改成word、pdf或者ppt下載模式,高頻下載須要驗證碼或者帳號積分。

五、網站不提供註冊入口,或者註冊須要內部推薦或者評審,加大爬蟲方獲取帳號的難度。

六、網站的請求url複雜化,好比弄的像淘寶同樣沒有規律,id改成UUID等。

七、前端頁面儘量不暴露數據的惟一鍵,對惟一鍵如主鍵id等進行假裝,能夠增長對方爬取後的去重成本。由於對方爬數據多是在你的多個模塊頁面進行多維度爬取,會有大量的重複數據。

八、前端html頁面別一次性加載列表,根據用戶點擊js動態加載。即查詢頁面源碼時,只能看到列表的第一條數據。

九、當肯定訪問異常時,大量返回虛假數據。爬蟲幾乎沒有判斷數據真假的能力,只有人才有。對方發現的越晚,咱們的處理應對時間就越充裕。

十、核心數據提升安全等級,單獨加密等。

相關文章
相關標籤/搜索