初級爬蟲工程師:
Web前端的知識:HTML, CSS, JavaScript, DOM, DHTML, Ajax, jQuery,json等;
正則表達式,能提取正常一般網頁中想要的信息,比如某些特殊的文字,鏈接信息,知道什么是懶惰,什么是貪婪型的正則;
會使用re, BeautifulSoup,XPath等獲取一些DOM結構中的節點信息;
知道什么是深度優先,廣度優先的抓取算法,及實踐中的使用規則;
能分析簡單網站的結構,會使用urllib,urllib2或requests庫進行簡單的數據抓取;
中級爬蟲工程師:
了解什么是Hash,會使用簡單的MD5,SHA1等算法對數據進行Hash以便存儲;
熟悉HTTP,HTTPS協議的基礎知識,了解GET,POST方法,了解HTTP頭中的信息,包括返回狀態碼,編碼,user-agent,cookie,session等;
能設置User-Agent進行數據爬取,設置代理等;
知道什么是Request,什么是Response,會使用Fiddle, Wireshark等工具抓取及分析簡單的網絡數據包;對于動態爬蟲,要學會分析Ajax請求,模擬制造Post數據包請求,抓取客戶端session等信息,對于一些簡單的網站,能夠通過模擬數據包進行自動登錄;
對于比較難搞定的網站,學會使用瀏覽器+selenium抓取一些動態網頁信息;
并發下載,通過并行下載加速數據抓取;多線程的使用;
高級爬蟲工程師:
能使用Tesseract,百度AI,HOG+SVM,CNN等庫進行驗證碼識別;
能使用數據挖掘的技術,分類算法等避免死鏈等;
會使用常用的數據庫進行數據存儲,查詢,如Mongodb,Redis(大數據量的緩存)等;下載緩存,學習如何通過緩存避免重復下載的問題;Bloom Filter的使用;
能使用機器學習的技術動態調整爬蟲的爬取策略,從而避免被禁IP封號等;
能使用一些開源框架Scrapy,Celery等分布式爬蟲,能部署掌控分布式爬蟲進行大規模的數據抓取;
-
工程師
+關注
關注
59文章
1571瀏覽量
68574 -
網絡爬蟲
+關注
關注
1文章
52瀏覽量
8705
發布評論請先 登錄
相關推薦
評論