商標網數據爬蟲-Python爬蟲-2019年我破解了商標網數據爬蟲-破解反爬技術那些事

Python爬蟲-2019年我破解了商標網!數據爬蟲-破解反爬技術那些事情
最近我開發了一套爬蟲系統,破解商標網,爬取所有商標網站數據,由於自己一直做Python大數據挖掘技術開發,最近有不少的朋友要做大數據分析,找我幫忙商標網的數據挖掘,實現爬取中國商標網全部數據+監控同步每天新增註冊的商標數據+支持異步搜索功能,做過數據爬蟲挖掘的都知道,商標網是目前國內最難爬的網站之一,因爲商標網請了中國第三方權威安全機構做了各種高級的發爬措施,我相信很多做技術的朋友在爬商標網的時候會遇到以下幾個問題,今天把解決方案分享給大家。

一、商標網到底採集了哪些反爬措施?
其實在準備爬商標網數據的時候,我對商標網的url結構、代碼結構、數據加密機制進行了深度的分析,其實商標網主要採集了以下的三種反爬措施:
(1)URL加密: 當我們進入商標網查詢入口時候(http://sbj.saic.gov.cn/sbcx/),首先會進入一個聲明頁面,您必須用鼠標點擊“我接受”才能進入到商標搜索頁面,這個頁面的作用就是防止識別如果你直接進目標頁面,因爲它會自動給每個頁面加入加密的url,url做了有效時間戳+加密的反爬機制,如果發現您訪問您的url次數太多就直接把你封了

(2)人機識別反爬:商標網做了人機識別的反爬技術,如果你直接用程序post模擬請求打開直接會被封掉的。如果你用瀏覽器正常訪問就可以訪問。

(3)封IP反爬: 商標網對每個訪問的用戶進行IP鎖定和跟蹤,當我們發出去的http請求到商標網站的時候,正常情況下返回200狀態,說明請求合法被接受,而且會看到返回的數據,但是商標網有自己的一套反爬機制算法,如果檢查到同一個IP來不斷的採集他網站的數據,那麼他會被這個IP列入異常黑名單,您再去採集它網站數據的時候,那麼就永遠被攔截了。

二、如何破解商標網的反爬?

. 採集速度太頻繁了,會被封IP問題怎麼解決?
當我們發出去的http請求到商標網的時候,正常情況下返回200狀態,說明請求合法被接受,而且會看到返回的數據,但是商標網有自己的一套反爬機制算法,其實很簡單,用代理IP池解決封IP的問題,也就是我們每一次請求的時候都採用動態不同的代理IP方式去請求,而且這個代理IP是隨機變動的,每次請求都不同,所以用這個代理IP技術解決了被封的問題。
三、 如何爬取到網所有的數據?

(1)我在寫爬蟲去商標網的時候,剛開始使用網上的免費或者收費的代理IP,結果90%都被封號,所以建議大家以後採集這種大數據量網站的時候 不要使用網上免費的或者那種收費的IP,因爲這種ip幾秒鐘就會過期,意思就是你沒有采集完一條數據或者剛剛訪問到數據的時候,這個IP就過期了導致你無法採集成功,所以最後我自己搭建了自己的代理池解決了幾千萬商標網數據的採集封IP問題。
(2)商標網有幾千萬的數據量,如果你想爬取所有的商標數據,我們可以從商標網的搜索規則漏洞找到破解方法,商標網的搜索頁面支持按申請/註冊號進行申請,並且它的註冊號命名規則是昨日最後一個註冊號累加+1,所以我們想爬取所有商標數據,我們可以通過分佈式方式 循環註冊號+1的方式來達到目的。我當時採用多線程模式 每個線程負責5000個註冊號的監控,十幾分鍾就檢測完畢!

(3)模擬人工技術:我們採用人工智能的技術來操控瀏覽器,相當於模擬幾十萬真實的人在打開網站 然後每個人負責搜索不同的註冊號得到我們需要的數據,來解決破解它的人機反爬技術。
四、建立商標智能爬蟲大數據系統

1、商標網的數據包含列表數據+詳細頁的數據+商標流程頁數據,所有我們在爬取千萬級的商標數據的時候就需要把數據結構化存儲,需要建立 商標基礎信息表+商標流程進度表。然後需要做一套數據智能管理系統對這些數據進行管理和監控,主要是用於支持數據搜索、導出、分類的管理。

五、如何監控每日新增的數據?

如果我們把整個商標網的數據都爬下來了而且存儲到數據庫呢,那麼每日新增的數據我們怎麼同步一起更新下來呢?這個時候我們就需要做數據爬蟲的監控任務,讓這個爬蟲負責監控每天新增的註冊號,然後把每天新增的註冊號爬取下來!具體怎麼做呢?其實很簡單,因爲註冊號的規則是昨天最後一個號碼累加一,那麼就從昨天最後一個號碼累加循環2萬次就可以實現檢測得到每天最新的註冊號。
六、如何實現異步搜索商標數據功能?

如果您爬下來的商標數據是做大數據創業,或者提供給其他用戶來搜索用的,那麼存在一個問題,如果當前用戶搜索的商標你還沒有爬下來怎麼辦呢?這個問題其實用異步搜索技術架構就可以實現了。具體思路是這樣:用戶搜索商標搜索商標的時候 先去自己的數據庫查詢如果數據庫已經爬下來直接把結果返回,如果數據庫尚未更新下來,離開調取異步搜索程序功能,直接打開商標網把結果先返回給用戶,並且把這次搜索的結果存到數據庫,這樣下次另外用戶再搜索同樣的商標你數據庫就有了!

七、數據清洗-核心代碼:
商標網數據爬蟲-Python爬蟲-2019年我破解了商標網數據爬蟲-破解反爬技術那些事

(需要爬蟲技術交流的朋友歡迎加我qq:2779571288)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章