elliotwutingfeng/take_a_shot
GitHub: elliotwutingfeng/take_a_shot
基于无头 Chrome 和 Docker 的轻量网页截图与源码采集工具,将结果以 base64 JSON 输出到标准输出,便于脚本集成与自动化处理。
Stars: 1 | Forks: 0
## 实现细节
- 在无头模式下使用 Google Chrome。
- 即使是垂直长度较长的网页也能很好地工作。
- 带有固定头部的网页通常效果良好,但固定页脚可能会导致异常结果。
复刻并修改自:
## 要求
已在以下环境中测试
### Linux
- Linux 6.12
- Docker 版本 28.3.0
## 用法
### 构建
```
./build
```
然后运行
```
./capture [options]
```
或者运行
```
docker run --cap-drop=all --security-opt=no-new-privileges --rm elliotwutingfeng/take_a_shot [options]
```
## 输出格式
```
{
"screenshot": "",
"source_code": ""
}
```
## 示例
### 默认 User Agent
```
docker run --cap-drop=all --security-opt=no-new-privileges --rm elliotwutingfeng/take_a_shot "https://example.com"
```
### 指定 User Agent
```
docker run --cap-drop=all --security-opt=no-new-privileges --rm elliotwutingfeng/take_a_shot "https://example.com" --window-size 390x844 --ua 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/113.0 Mobile/15E148 Safari/605.1.15'
```
## 帮助
```
usage: takeashot.py [-h] [--screenshot] [--source-code]
[--window-size WINDOW_SIZE] [--ua USER_AGENT]
[--wait WAIT] [--lang LANG] [--language LANGUAGE] [-v]
[--vv]
url
positional arguments:
url specify URL
options:
-h, --help show this help message and exit
--screenshot Take screenshot
--source-code Extract source code
--window-size WINDOW_SIZE
specify window size like 1200x800
--ua USER_AGENT specify user-agent
--wait WAIT specify wait seconds after scroll down
--lang LANG set LANG environment variable
--language LANGUAGE set LANGUAGE environment variable
-v set LogLevel to INFO
--vv set LogLevel to DEBUG
```
## 致谢
[更多信息](CREDITS.md)
标签:API安全, Base64, Chrome Headless, DNS解析, Docker容器, HTML源码获取, JSON输出, Kubernetes安全, Linux工具, Python, SEO工具, Web信息收集, 开源项目, 攻击面发现, 数据编码, 无后门, 无头浏览器, 端口探测, 网站存档, 网页截图, 网页数据抓取, 网页自动化, 请求拦截, 逆向工具