日韩午夜福利a无码,三级亚洲中文字幕,免费高清av一区二区三区,国产精品白丝祙喷水视频

您現(xiàn)在所在的位置:首頁 >關(guān)于奇酷 > 行業(yè)動態(tài) > 一份可以找工作的爬蟲學習大綱

一份可以找工作的爬蟲學習大綱

來源:奇酷教育 發(fā)表于:

爬蟲學到什么程度可以找工作?

  一份可以找工作的爬蟲學習大綱
 
  開 篇
 
  爬蟲學到什么程度可以找工作?
 
  爬蟲的本質(zhì)是模擬人的操作,發(fā)起請求,獲取正確的服務器返回的數(shù)據(jù)。所以網(wǎng)絡這一塊需要相對熟悉,尤其是http協(xié)議。在此基礎上,開啟脫發(fā)之旅吧!
 
  敲黑板:必要部分
 
  ·語言選擇:一般是了解Python、Java、Golang之一
 
  ·熟悉多線程編程、網(wǎng)絡編程、HTTP協(xié)議相關(guān)
 
  ·開發(fā)過完整爬蟲項目:最好有全站爬蟲經(jīng)驗
 
  ·反爬相關(guān):cookie、ip池、驗證碼等等
 
  ·熟練使用分布式
 
  非必要部分
 
  ·了解消息隊列,如RabbitMQ、Kafka、Redis等
 
  ·具有數(shù)據(jù)挖掘、自然語言處理、信息檢索、機器學習經(jīng)驗
 
  ·熟悉APP數(shù)據(jù)采集、中間人代理
 
  ·大數(shù)據(jù)處理
 
  ·數(shù)據(jù)庫Mysql,redis,mongdb
 
  ·熟悉Git操作、linux環(huán)境開發(fā)
 
  ·讀懂js代碼,這個真的很重要
 
  一份可以找工作的爬蟲學習大綱
 
  基礎篇
 
  基礎篇
 
  一、邁出吃牢飯的第一步:cc攻擊
 
  關(guān)于requests需要學習的知識點:
 
  發(fā)送請求
 
  添加參數(shù)
 
  設置請求頭
 
  設置代理ip(或者使用第三方服務)
 
  網(wǎng)絡異常處理
 
  Json數(shù)據(jù)如何處理
 
  二、沒有技術(shù)含量的體力活——xpath,css,re
 
  json的話,有很多解析庫,直接轉(zhuǎn)為字典處理就行。
 
  html的話,xpath,css,re都可以。
 
  js的話,那就re,但有時候,返回的js經(jīng)過re的處理,可以轉(zhuǎn)為html或者json。
 
  三、搶別人的飯碗——Selenium自動化測試工具
 
  配置環(huán)境
 
  定位元素,獲取屬性與文本
 
  動作鏈:點擊,移動,拖拽,按鍵
 
  下拉框,彈窗,iframe,標簽操作
 
  顯示等待與隱式等
 
  提高效率,設置UA與代理
 
  四、Web也就那樣了——APP爬蟲
 
  越來越多的公司轉(zhuǎn)向移動端,web端只留給你一個app二維碼。
 
  常見的抓包工具:Fiddler,Wireshark,Charies。
 
  主要目的就是為了獲取app的請求,進行分析。畢竟app沒有像瀏覽器一樣,有自帶的網(wǎng)絡分析調(diào)試工具。
 
  進階篇
 
  進階篇
 
  一、如何快速吃牢飯——加速
 
  (1)理解阻塞、非阻塞、同步、異步、并發(fā)、并行概念
 
 ?。?)熟悉python隊列的使用以及MQ的概念
 
 ?。?)多進程、進程池和進程間通信
 
 ?。?)多線程、線程封裝、線程全局變量、線程互斥、守護線程以及join的用法
 
 ?。?)協(xié)程、yield關(guān)鍵字、gevent、猴子補丁、asyncio
 
 ?。?)異步請求輪子aiohttp
 
  (7)常見解決方案:多線+異步(scrapy的原理)或 多進程+異步
 
  二、框架在手,天下我有——輪子真香
 
  爬蟲領(lǐng)域,只此一家——scrapy。
 
  官方教程:https://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/tutorial.html
 
  scrapy是一個python爬蟲框架。我們自己用requests也能寫爬蟲(GET某個URL,然后Parse網(wǎng)頁的內(nèi)容)。
 
 ?。?)理解五大模塊與兩大中間件的概念和作用
 
 ?。?)熟悉scrapy流程和配置
 
 ?。?)如何更換為其他數(shù)據(jù)庫
 
  三、程序員之間的愛恨情仇——高級的反爬
 
  驗證碼與js加密
 
 ?。?)驗證碼常見的有:
 
  純數(shù)字
 
  純英文
 
  英文加數(shù)字
 
  計算題
 
  12306分類選擇
 
  點選成語
 
  手機驗證碼
 
  滑動驗證碼
 
  特殊軌跡拖動
 
  拖動旋轉(zhuǎn)圖片
 
 ?。?)驗證碼這里不考慮上機器學習的話,
 
  常用的幾種方案:
 
  使用cookie來避免一部分驗證碼
 
  Tesseract-OCR識別工具
 
  使用第三方打碼平臺
 
 ?。?)js加密,嗯~~,燒頭發(fā)的東西。關(guān)于js需要掌握的知識:
 
 ?。?)如何處理代碼混淆
 
 ?。?)時間戳和哈希
 
  (3)PyExecJS庫的使用
 
 ?。?)瀏覽器網(wǎng)絡分析工具
 
 ?。?)App逆向,嗯~~,更燒頭發(fā)。
 
  反編譯工具的使用
 
  Android基本文件結(jié)構(gòu)
 
  App調(diào)試與抓包
 
  常見四種加固方式
 
  四、建一個情報系統(tǒng)——爬蟲監(jiān)控可視化
 
 ?。?)Gerapy
 
  Gerapy是一款分布式爬蟲管理框架,支持 Python 3,基于 Scrapy、Scrapyd、Scrapyd-Client、Scrapy-Redis、Scrapyd-API、Scrapy-Splash、Jinjia2、Django、Vue.js 開發(fā)。
 
 ?。?)Grafana
 
  Grafana是一款采用 go 語言編寫的開源應用,主要用于大規(guī)模指標數(shù)據(jù)的可視化展現(xiàn),是網(wǎng)絡架構(gòu)和應用分析中最流行的時序數(shù)據(jù)展示工具,目前已經(jīng)支持絕大部分常用的時序數(shù)據(jù)庫。
 
  官方文檔:http://docs.grafana.org/
 
  實際項目經(jīng)驗
 
  實際項目經(jīng)驗才是真正的開始:
 
  ·爬過哪些網(wǎng)站?
 
  ·日均最大采集量是多少?
 
  ·你遇到哪些棘手問題,如何解決?
 
  真正的開始
 
  1.去各大學習論壇提問
 
  2.去百度和谷歌搜下這個網(wǎng)站有沒有人分享出你要爬數(shù)據(jù)的API
 
  3.看看電腦網(wǎng)頁有沒有你要的數(shù)據(jù),寫點代碼測試調(diào)查下好不好拿,不管好不好拿,也不要急著就開爬
 
  4.看看有沒有電腦能打開的手機網(wǎng)站,一般格式為http://m.xxx.com或
 
  http://mobile.xxxx.com,有的話可以用F12檢查抓下包,看下抓取難易程度
 
  5.看看有沒有手機App,抓下App的包,看能不能抓到接口,如果新版抓不到,可以嘗試舊版本
 
  6.嘗試分析app的一些分享外鏈
 
  7.抓下公眾號和小程序的包,看能不能抓到接口
 
  8.都不好弄的話,嘗試的話selenium/airtest
 
  9.最高境界:web端破解js 移動端逆向破解
 
  10.放棄抵抗:js爬蟲,人肉爬蟲
 
  以上調(diào)查完成后,再去確定你要選擇的爬取方式。