Katana 是由 projectdiscovery 開發的一款先進的網頁爬蟲框架,它專為自動化和靈活配置而設計,能夠適應各種復雜的網路爬取任務。這款工具結合了標準和無頭瀏覽器模式,支持 JavaScript 解析和爬取,以及自動表單填寫,為使用者提供了強大的網頁抓取能力。Katana 的功能不僅限於基本的爬取,還包括了作用域控制、自訂輸出、速率限制和多種過濾選項,使其成為一個多功能的網路爬蟲解決方案。
功能特點
它是一款多功能的下一代網路爬蟲框架,具備快速、靈活且使用者可配置的特性,支持標準和無頭瀏覽器模式進行網頁爬取,能夠執行JavaScript解析,自動填寫表單,並透過預設或自訂的作用域、輸出格式、過濾規則和速率限制來精確控制爬取過程,同時提供豐富的命令列選項和作為庫整合的能力,滿足專業使用者在不同場景下的自動化爬取需求。
開源成就
目前已經取得了9.9K Star
主要功能
透過
-field-scope
選項定義爬取的作用域,如根網域名稱或特定子體。
使用
-crawl-scope
和
-crawl-out-scope
透過正規表式進行高級的作用域控制。
利用
-headers
選項進行認證爬取,模擬登入和存取受保護的資源。
透過
-match-regex
和
-filter-regex
選項使用正規表式過濾輸出的 URL。
支持 DSL 運算式進行高級的匹配和過濾。
簡單部署
確保系統上安裝了 Go 1.18。
使用以下命令安裝 Katana:
go install github.com/projectdiscovery/katana/cmd/katana@latest
或者透過 Docker 部署:
docker pull projectdiscovery/katana:latest
docker run projectdiscovery/katana:latest -u https://tesla.com
在 Ubuntu 系統上,安裝必要的依賴後,使用 Go 命令安裝 Katana。
使用方法
執行 Katana 並檢視幫助文件以了解所有支持的選項:
katana -h
透過命令列界面指定各種選項,如爬取深度、JavaScript 檔解析、速率限制等,執行爬取任務:
katana -u https://example.com -d 2 -jc -rl 100
使用
-o
選項將結果輸出到檔,或使用
-json
選項輸出 JSON 格式的結果。
katana -u https://example.com -jsonl | jq .
Katana 的靈活性和強大功能使其成為網路安全專家和開發人員進行網站數據抓取和自動化測試的理想選擇。
近期熱文: