xcrawl3r:一款功能强大的网站页面递归爬取CLI工具
本文由 创作,已纳入「FreeBuf原创奖励计划」,未授权禁止转载
关于xcrawl3r
xcrawl3r是一款功能强大的网站页面递归爬取CLI工具,该工具本质上是一个基于命令行接口实现的实用工具,可以帮助广大研究人员以递归的形式爬取目标站点的Web页面。值得一提的是,该工具可以系统地浏览网页的URL并通过跟踪链接来发现链接的网站页面URL地址。
功能介绍
1、递归爬取目标Web页面中的URL地址;
2、支持从文件解析URL地址,格式包括.js、.json、.xml、.csv、.txt和.map;
3、支持分析robots.txt中的URL地址;
4、支持分析sitemap中的URL地址;
5、渲染页面(包括单页应用程序,如Angular和React);
6、支持跨平台(Windows、Linux和macOS);
工具安装
发布版本安装
广大研究人员可以直接访问该项目的【Releases页面】下载对应操作系统和架构的工具发布版本压缩包。
或者使用wget或curl命令直接拉取xcrawl3r的发布版本:
wget https://github.com/hueristiq/xcrawl3r/releases/download/v<version>/xcrawl3r-<version>-linux-amd64.tar.gz
curl -OL https://github.com/hueristiq/xcrawl3r/releases/download/v<version>/xcrawl3r-<version>-linux-amd64.tar.gz
然后提取源代码即可:
tar xf xcrawl3r-<version>-linux-amd64.tar.gz
源码安装
由于该工具基于Go语言开发,因此我们首先需要在本地设备上安装并配置好Go语言环境:
go install -v github.com/hueristiq/xcrawl3r/cmd/xcrawl3r@latest
接下来,广大研究人员可以使用下列命令将该项目源码克隆至本地:
git clone https://github.com/hueristiq/xcrawl3r.git
然后切换到项目目录中,构建项目代码:
cd xcrawl3r/cmd/xcrawl3r && \ go build .
构建完成后,将xcrawl3r代码拷贝到PATH路径下,例如:
sudo mv xcrawl3r /usr/local/bin/
工具使用
下列命令可以直接查看工具的帮助信息:
xcrawl3r -h
帮助信息如下:
_ _____ __ _____ _ __ __ ___ _| |___ / _ __ \ \/ / __| '__/ _` \ \ /\ / / | |_ \| '__| > < (__| | | (_| |\ V V /| |___) | | /_/\_\___|_| \__,_| \_/\_/ |_|____/|_| v0.1.0 A CLI utility to recursively crawl webpages. USAGE: xcrawl3r [OPTIONS] INPUT: -d, --domain string 域名匹配的URL地址 --include-subdomains bool 子域名匹配的URL地址 -s, --seeds string URL种子文件 -u, --url string 待爬取的URL地址 CONFIGURATION: --depth int 最大爬取深度,默认为3,0为无限爬取 --headless bool 在爬取过程中显示浏览器内容 -H, --headers string[] 在请求中引入的自定义Header 例如: -H 'Referer: http://example.com/' 可以使用多个参数以使用多个Header --proxy string[] 代理URL,例如http://127.0.0.1:8080 可以使用多个参数来使用多个代理 --render bool 使用一个无头Chrome实例来呈现页面 --timeout int 请求等待时间,默认为10秒 --user-agent string 要使用的User-Agent,默认为Web RATE LIMIT: -c, --concurrency int 要使用的并行爬取器数量,默认为10 --delay int 每次请求的延迟时间,单位为秒 --max-random-delay int 要增加的额外随机延迟时间最大值,默认为1秒 -p, --parallelism int 要并向处理的URL数量,默认为10 OUTPUT: --debug bool 启用调试模式 -m, --monochrome bool 颜色高亮输出 -o, --output string 将发现的URL写入到文件中 -v, --verbosity string 开启Verbose模式
许可证协议
本项目的开发与发布遵循MIT开源许可证协议。
项目地址
xcrawl3r:【GitHub传送门】
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
文章目录