# playwright-go-server **Repository Path**: ppnt/playwright-go-server ## Basic Information - **Project Name**: playwright-go-server - **Description**: 该项目利用浏览器自动化技术获取网页完整内容,并支持将 HTML 转换为 Markdown 格式,以便于后续大模型推理处理 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 2 - **Created**: 2025-02-17 - **Last Updated**: 2025-06-21 ## Categories & Tags **Categories**: networklib **Tags**: None ## README # palywright-go-server ## 背景 在实际应用中,搜索引擎通常只返回网页的 URL 和部分片段,但有时我们需要获取网页的全部内容。为了实现这一需求,笔者开发了 `palywright-go-server` 项目,该项目利用浏览器自动化技术获取网页完整内容,并支持将 HTML 转换为 Markdown 格式,以便于后续大模型推理处理。 ## 特性 - **网页内容抓取**:通过浏览器会话池(基于 Playwright)获取指定 URL 的完整网页 HTML 内容。 - **Markdown 转换**:支持将抓取到的 HTML 内容转换为 Markdown 格式,方便进行文本处理和大模型推理。 - **高效稳定**:采用懒加载全局会话池,确保浏览器实例复用,提高系统响应速度。 ## 安装与依赖 1. 克隆代码库: ```bash git clone https://github.com/litongjava/palywright-go-server.git cd palywright-go-server ``` 2. 安装 Go 依赖: ```bash go mod tidy ``` 3. 安装 HTML 转 Markdown 转换库: ```bash go build ``` ## docker ```cgo docker build -t litongjava/playwright-go-server:1.0.0 . docker run -dit --name playwright-go-server --net=host litongjava/playwright-go-server:1.0.0 ``` ## 使用方法 项目内置 HTTP 服务,提供一个接口用于根据 URL 获取网页内容并进行格式转换: - **接口路径**:`/fetch` - **请求参数**: - `url`:要抓取的网页 URL(必填) - `format`:返回内容格式(可选,当设置为 `markdown` 时返回 Markdown 格式,否则返回原始 HTML) ### 示例 请求获取 Markdown 格式内容: ``` GET /fetch?url=https://example.com&format=markdown ``` ``` curl "http://localhost/fetch?url=https://www.kapiolani.hawaii.edu/&format=markdown" ``` ## 运行 使用以下命令启动服务: ```bash go run main.go ``` 服务启动后,即可通过 HTTP 请求调用接口。 ## 贡献 欢迎提交 issue 或 pull request 改进项目! ## 许可证 本项目采用 [MIT 许可证](LICENSE)。