1、限制IP單位時間訪問次數還有頻率html
背景:沒有哪一個常人一秒鐘內能訪問相同網站N次(不論是不是同一個網頁)正則表達式
解決辦法:通常遇到這種狀況咱們就放緩採集頻率,無論你寫代碼添加Sleep,或者在咱們八爪魚裏面設置間隔時間均可以解決瀏覽器
進化1:有些高級點的防採集策略,他甚至監控到每一個請求的頻率,若是一直處於同一個頻率,好比一秒一次,他也是會封。服務器
解決辦法:這種狀況通常就須要咱們在採集間隔裏面加上隨機數,每次訪問的頻率相對隨機。網絡
進化2:有些更殘忍的防採集策略,他甚至會監控每IP天天或每時段請求網頁的數量。由於他能夠經過數據分析,知道大致上他真實的用戶通常最多會訪問他多少網頁,若是超過,他也照樣封。異步
解決辦法:這種狀況也就只有用多IP或者多服務器來解決了,虛擬出許多不一樣的終端在訪問,平攤訪問資源。八爪魚在這塊也提供了代理IP池套餐與旗艦版雲服務器集羣來保障。大數據
2、驗證碼網站
背景:驗證碼天生就是一個識別你究竟是人仍是機器的神器人工智能
解決辦法:加密
這一招是被用爛的一招,如今普通的驗證碼,即便加了混淆,均可以經過圖像識別技術給破解了,因此市面就多了好多詭異的驗證碼,最經典的,應該算是12306的驗證碼了吧。可是再複雜的驗證碼,包括那些中文成語,中文加減乘除之類的,都是有破解之法。由於這世上還有打碼平臺在,就是一種人工幫你輸入驗證碼的平臺。
八爪魚內置支持絕大多數驗證碼的破解,除了少數的一兩種特別極端,如今滿世界還找不到破解之法,其餘都支持。
3、用戶登陸帶COOKIE才能訪問網站內容
背景:經過賬號來限制你訪問的權限
解決辦法:
普通的,咱們只須要經過八爪魚採集進行登錄操做,只要你能提供相對應的賬號密碼,八爪魚能夠進行模擬操做登錄網站,你就能夠進去獲取數據了。若是你沒有賬號,那就一點辦法都沒有了。就像IT桔子,你沒賬號,你只能看到前1000條數據。你只有付費購買他們的SAAS賬號,你才能看到更多數據。
進化一:即便有賬號也無論用
解決辦法:
就像京東的評論,你只能看到最新的1000條。這種時候就必須用上八爪魚的定時採集,咱們進行某種頻率的監控,一有新數據就立刻採集下來,保持跟進,保持積累。
4、利用JS加密網頁內容
背景:經過瀏覽器的JS運算出網頁內容結果
解決辦法:
這種招術,在對付HTTP POST請求的時候,是一種增長複雜度與難度的招術。可是八爪魚天生就是對抗這種,八爪魚內置瀏覽器訪問網頁數據,在打開網頁的時候就會去執行JS調用代碼獲取數據,而後再解析網頁數據。因此自帶JS運算,輕輕鬆鬆就把這種給繞過去了。
而通常經過代碼或HTTP請求模式的爬蟲技術,是怎麼繞都繞不開這種,而經過寫代碼進行採集的同窗,他必須把JS加密給破解了。
5、連接隨機化
背景:網站頁面連接隨機化,同一個頁面有多個連接或根據不一樣狀況生成連接
解決辦法:
這種狀況,通常要求咱們從源頭開始訪問,模擬人訪問,好比從首頁,進入到列表,再到內容頁。他內頁連接隨機化,首頁地址總不能隨機吧。這種只要以不變應萬變,便可破解。
進化1:利用腳本生成分頁地址
這種狀況,在八爪魚瀏覽器面前,也是一點效力都沒有。由於八爪魚是一種模擬人的操做,除非他生成的分頁地址不是要給人訪問的,要不,照樣採。
6、網頁裏面增長混淆不可見元素
背景:常規的網頁數據解析爲結構化數據,均是經過字符串定位與正則表達式匹配。因此增長混淆代碼或文字,增長你破解的難度,給你增長麻煩。筆者曾見過某網頁解析出來的時候寫着:」不要採,不要採,再採我就又得被叼了「
解決辦法:由於八爪魚主要仍是能經過XPATH定位的方式,這種小技倆在XPATH面前,輕鬆就被繞開了。大不了咱們再用字符串替換,把一些混淆的字符段經過某種規則給替換掉便可。畢竟網頁開發者留下混淆代碼也是遵循某種規律留下的。
7、網站隨機出現模板
背景:增長採集難度,同一類頁面,可是多種模板展示
解決辦法:這種狀況主要是耐心點,筆者見過度頁列表頁面,單數頁是一種模板,雙數頁是另一種,或者常規是一種,逢10就另一種。這種就須要咱們在一開始採集的時候,觀察清楚。但這種又很好觀察,通常換了模板,咱們就採不到數據。
不可能同一模板,前面一頁採得好好的,後面一頁就不行了。多數是出如今模板不一致致使的。八爪魚內置判斷邏輯,你能夠經過頁面不一樣的特徵,引導八爪魚用不同的解析來破解。
8、人工智能防採集
背景:互聯網99.9%以上的防採集措施,估計來來回回就這一些招吧,可是另外那0.01%,纔是讓人費勁的。像某些大公司,有專門的人工智能防採集團隊。
他們能夠經過識別你的網絡請求,不論是走瀏覽器,仍是走請求的方式,只要你訪問他們網站的軌跡,不像是通常用戶訪問的軌跡,或絕大多數用戶的軌跡,他們都會進行一些防採集的策略,好比增長驗證碼,或出現假數據等等。
解決辦法:這種時候就要求咱們,更加像」人「的操做同樣,去進行採集。好比咱們通常會先訪問首頁,而後點點一些位置,拖拉一下,而後再進行列表頁,再看一看,再進入詳情頁等等。這些摸擬人的操做,都可經過八爪魚完成,包括自動下拉多少屏,停留時間,鼠標停留位置等等。
進化一:創建黑IP池
些大型公司,還會創建黑IP池,一旦是池子裏的IP進行訪問,立刻拒絕。這通常是出如今境外IP,或一些機房IP,說白就是已經被用爛的IP了。而這時候,優質的代理IP資源,就顯得特別寶貴了。
八爪魚優質代理IP設置界面
在筆者看來,採集與防採集,永遠都是一個矛盾的問題,沒法說絕對採集到,或絕對採集不到。在這一行當裏面,真正考究的是採集成功與收益的問題,好比說增長驗證碼,IP等方式,均是須要必定的開銷開本,特別在大數據量面前,這個成本有時是很是巨大的。
而網站方,也是經過這一點,來增長你的採集難度採集成本,從而達到一個相對平衡可控的範圍。筆者經手過的項目,有些項目每一年須要花費上百萬的IP或驗證碼成本纔可獲取到想要的數據,八爪魚能作到的是,以最優的成本,幫你獲取到你想要的數據,而不是0成本。
相關採集教程:
今日頭條數據採集:
http://www.bazhuayu.com/tutorialdetail-1/jrtt-7.html
採集知乎話題信息(以知乎發現爲例):
http://www.bazhuayu.com/tutorialdetail-1/zh-ht.html
淘寶網商品信息採集:
http://www.bazhuayu.com/tutorialdetail-1/cjtbsp-7.html
美團商家信息採集:
http://www.bazhuayu.com/tutorialdetail-1/mtsj_7.html
彩票開獎數據採集:
http://www.bazhuayu.com/tutorialdetail-1/cpkjdatacj.html
起點中文網小說採集方法以及詳細步驟:
http://www.bazhuayu.com/tutorialdetail-1/qidianstorycj.html
亞馬遜商品評論採集:
http://www.bazhuayu.com/tutorialdetail-1/ymxspplcj.html
八爪魚——90萬用戶選擇的網頁數據採集器。
一、操做簡單,任何人均可以用:無需技術背景,會上網就能採集。徹底可視化流程,點擊鼠標完成操做,2分鐘便可快速入門。
二、功能強大,任何網站均可以採:對於點擊、登錄、翻頁、識別驗證碼、瀑布流、Ajax腳本異步加載數據的網頁,都可通過簡單設置進行採集。
三、雲採集,關機也能夠。配置好採集任務後可關機,任務可在雲端執行。龐大雲採集集羣24*7不間斷運行,不用擔憂IP被封,網絡中斷。
四、功能免費+增值服務,可按需選擇。免費版具有全部功能,可以知足用戶的基本採集需求。同時設置了一些增值服務(如私有云),知足高端付費企業用戶的須要。