一个为AI Agent设计的HTML网页爬取服务,能够高效获取网页内容并进行清洗处理。
随着AI Agent技术的快速发展,Agent需要获取和处理互联网上的信息。本项目提供了一个专门的工具,使AI Agent能够爬取网页内容,并将其转换为结构化的、干净的HTML格式,便于Agent进行后续的信息提取和理解。
- 网页爬取:使用Selenium和Chrome浏览器获取完整渲染后的网页内容
- 内容清洗:移除不必要的HTML元素(脚本、样式、注释等)
- 两种模式:
- 基础模式:返回纯文本内容
- 带图像模式:保留图像内容,并将相对路径转换为绝对路径
- 安全检查:防止访问内网资源和循环请求
- 高容错性:支持多次重试机制
- Docker支持:易于部署和扩展
- 日志记录:自动记录请求和错误信息
# 克隆仓库
git clone https://github.com/yourusername/py-htmlcr-svc.git
cd py-htmlcr-svc
# 构建Docker镜像
docker build -t py-htmlcr-svc .
# 运行容器
docker run -p 8000:8000 py-htmlcr-svc- 安装Chrome浏览器和ChromeDriver
- 安装依赖项:
pip install -r requirements.txt- 运行服务:
python worker.pyhttp://localhost:8000/https://example.com
http://localhost:8000/with_imgs/https://example.com
PORT: 服务端口(默认:8000)LOG_DIR: 日志目录(默认:./logs)TIMEOUT: 页面加载超时时间(默认:15秒)
可以通过HTTP请求将此服务作为Tool集成到您的AI Agent系统中,例如:
def fetch_webpage(url):
response = requests.get(f"http://htmlcr-service:8000/{url}")
if response.status_code == 200:
return response.text
else:
return Nonedocker buildx build --platform linux/ amd64,linux/arm64 --tag hanjiaming/ py-htmlcr-svc:v1.0 .
docker run -p 3124:8000 -d -v /opt/ py-htmlcr-svc/logs:/app/logs --name py-htmlcr-svc hanjiaming/py-htmlcr-svc