learning_spider
1.0.0
此項目主要分為三個部分
| 難度 | 內容 | 資訊 | 方式 | 難點 |
|---|---|---|---|---|
| 基礎 | 各類庫的簡單用法 | 基本使用方法 | 查看文檔編寫demo | |
| 入門 | 貓眼電影排行榜top100 | 靜態網頁 | requests | |
| 亞馬遜中國商城搜索頁 | 靜態網頁 | requests | ||
| 今日頭條搜索結果 | 動態網頁 | requests | ||
| 微博移動端用戶動態信息 | 動態網頁 | requests | since_id參數的所在地 | |
| Bilibili觀察者見齊指數 | 動態網頁 | requests | 被壓縮的指數數據的還原 | |
| 最簡單的滑塊驗證碼 | 動態網頁 | Selenium | 滑塊移動 | |
| 簡單 | 某路由器密碼加密方法 | 單個js文件 | 尋找加密函數 | |
| 無限debugger處理 | 動態網頁 | reres | 反調試 | |
| AAEncode解加密 | 動態網頁 | Devtool | 編碼加密 | |
| CSS元素絕對定位反爬 | 靜態網頁 | pyppeteer | 還原元素順序 | |
| CSS偽類反爬 | 靜態網頁 | requests | 還原偽類內容 | |
| 58同城品牌公寓 | 靜態網頁 | requests | 靜態字體加密 | |
| 安居客指紋研究 | 單個js文件 | Devtool | 研究明白收集的信息的意義 | |
| 一般 | 知乎文章信息 | 動態網頁 | requests | 頭部`x-zse-86`參數加密基於時間的反調試 |
| china_cn字體加密處理 | 動態網頁 | fontTool | 動態字體加密處理 | |
| 百度混淆代碼處理 | 單個js文件 | @bebel | 各類還原插件編寫 | |
| 加速樂混淆代碼處理 | 攔截設置Cookies | @bebel | OB混淆代碼還原 | |
| 較難 | carbosynth抓取一張圖 | 簡易TLS指紋 | 修改默認安全組件配置 | 理解TLS |
網站網址(已備案): http://learnspider.evilrecluse.top/
| 類型 | 難度 | 名稱 | 資訊 |
|---|---|---|---|
| 滑塊驗證 | 入門 | 最簡單的滑塊驗證 | 只要拖動滑塊,滑到盡頭就可以通過,不存在任何檢測 |
| 簡單 | SliderCaptcha | 默認設置部署,存在基本的人機驗證,勻速拉動/直線拉動不會通過驗證 | |
| CSS反爬 | 入門 | 絕對定位反爬 | 利用絕對定位的特性,將數據分散打亂寫入html後,通過坐標還原觀感 |
| 簡單 | 偽類反爬 | 利用偽類content能顯示數據的特點,將部分數據用content展示 | |
| 一般 | 靜態字體加密反爬 | 讓一些Unicode文字使用自定義字體解析,讓使用標準Unicode解析的人爬不到數據單個訪問過程中字體並不會變化 | |
| js反爬 | 入門 | 反調試 | 利用定時啟動的/嵌套的debugger來讓瀏覽器一直處於無法退出的調試狀態 |
| 簡單 | 禁調試 | 編寫代碼禁止打開瀏覽器控制台 | |
| 簡單 | AAEncode | 用表情字符取代常見字符,讓人難以閱讀 | |
| 簡單 | JSFuck | 用幾種基本字符取代大部分常見字符,讓人難以閱讀 | |
| 數據加密 | 一般 | AES對稱加密 | 將傳輸的數據進行加密 |
| 一般 | 自定義Base64碼表加密 | 將傳輸的數據進行加密 | |
| 指紋反爬 | 簡單 | 最簡易Selenium識別 | 檢查自動創建兩個的變量 |
| 使用 | 資訊 | |
|---|---|---|
| 規範 | REST | 規範的API,規範的響應 |
| CDN | bootcdn.cn | 免費的前端開源項目CDN 加速服務 |
| 前端 | JQuery 2.2.4 | 一個快速、簡潔的JavaScript框架 |
| Materialize | 基於Material Design的前端響應式框架 | |
| twitter-bootstrap 3.4.1 | Twitter推出的一個用於前端開發的開源工具包 | |
| font-awesome 4.7.0 | 一套圖標字體庫和CSS框架 | |
| metisMenu 3.0.6 | Vanilla-JS 折疊菜單插件 | |
| 代理服務器 | nginx | 高性能的HTTP/反向代理服務器 |
| Web服務器 | uWSGI | 一個Web服務器 |
| 後端 | Flask 1.1.2 | Python輕量級web框架 |
| Flask-RESTful 0.3.8 | 一個支持快速創建REST APIs的Flask插件 |
| 工具/腳本製造 | |||
|---|---|---|---|
| 內容 | 資訊 | ||
| Auto DL ChromeWebDriver | Windows中,自動下載Selenium ChromeWebDriver 腳本從註冊表獲知Chrome 版本信息,從google下載最符合版本的Web Driver,使得Selenium 能正常運行 (實際上更推薦在服務器上部署docker,拉取Selenium的Image,然後部署,遠程調用的這種方式) | ||
| slother | 在Selenium 基礎上封裝了一層, 以應對用Selenium 進行爬蟲的時候會碰到的常見問題 | ||
| @Babel/traverse API document | 自行編寫的Babel/traverse API 文檔與用例, 內容已經轉移到另外的倉庫由於Babel官方並沒有給出Babel/traverse 的文檔,所以只能自行記錄內容根據源碼內容自行理解/編寫,可能存在錯誤,歡迎糾正 | ||
| Font Encryption Detective | 基於OCR製作的解字體加密腳本 | ||
2021年11月7日