Skip to content

一个为AI Agent设计的HTML网页爬取服务,能够高效获取网页内容并进行清洗处理。

License

Notifications You must be signed in to change notification settings

guomaimang/Website-Crawler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Website-Crawler

一个为AI Agent设计的HTML网页爬取服务,能够高效获取网页内容并进行清洗处理。

项目背景

随着AI Agent技术的快速发展,Agent需要获取和处理互联网上的信息。本项目提供了一个专门的工具,使AI Agent能够爬取网页内容,并将其转换为结构化的、干净的HTML格式,便于Agent进行后续的信息提取和理解。

主要功能

  • 网页爬取:使用Selenium和Chrome浏览器获取完整渲染后的网页内容
  • 内容清洗:移除不必要的HTML元素(脚本、样式、注释等)
  • 两种模式
    • 基础模式:返回纯文本内容
    • 带图像模式:保留图像内容,并将相对路径转换为绝对路径

特性

  • 安全检查:防止访问内网资源和循环请求
  • 高容错性:支持多次重试机制
  • Docker支持:易于部署和扩展
  • 日志记录:自动记录请求和错误信息

安装

使用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

本地安装

  1. 安装Chrome浏览器和ChromeDriver
  2. 安装依赖项:
pip install -r requirements.txt
  1. 运行服务:
python worker.py

使用方法

基本用法

http://localhost:8000/https://example.com

带图像模式

http://localhost:8000/with_imgs/https://example.com

环境变量配置

  • PORT: 服务端口(默认:8000)
  • LOG_DIR: 日志目录(默认:./logs)
  • TIMEOUT: 页面加载超时时间(默认:15秒)

AI Agent集成

可以通过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 None

Docker 笔记

docker 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

About

一个为AI Agent设计的HTML网页爬取服务,能够高效获取网页内容并进行清洗处理。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published