Install
openclaw skills install @thcjp/scrape-web-tool-free网页抓取工具免费版为个人用户提供轻量级的网页内容抓取与提取能力. 核心能力: - 网页纯文本抓取 - CSS选择器精准提取 - 抓取结果保存文件 - 多种输出格式 适用场景: - 单页内容快速提取 - 文章正文抓取归档 - 数据字段精准提取 差异化:免费版聚焦核心抓取与选择器提取流程,基于Scrapling实现轻量部署,适合个人用户快速抓取网页内容,无需复杂配置. 适用关键词: 网页抓取, scrape, 爬虫, CSS选择器, 内容提取, Scrapling, Python
openclaw skills install @thcjp/scrape-web-tool-free网页抓取工具免费版是一款基于Python和Scrapling的轻量级网页内容抓取工具。它支持纯文本抓取、CSS选择器精准提取和结果文件保存,帮助个人用户快速获取网页内容. 免费版适合单页抓取场景,通过简单的命令行参数即可完成网页内容提取。Scrapling是一个高性能的网页解析库,支持CSS选择器语法,能够从复杂HTML中精准提取目标数据.
| 能力模块 | 说明 | 免费版支持 |
|---|---|---|
| 纯文本抓取 | 获取网页全部可见文本 | 支持 |
| CSS选择器 | 按选择器精准提取内容 | 支持 |
| 文件保存 | 抓取结果保存到文件 | 支持 |
| 多页抓取 | 批量抓取多个URL | 不支持 |
| JS渲染 | 等待JavaScript动态加载 | 不支持 |
| 分页抓取 | 自动翻页抓取 | 不支持 |
| 结构化输出 | JSON/CSV格式输出 | 不支持 |
| 代理支持 | 通过代理抓取 | 不支持 |
| 认证抓取 | 需登录的页面 | 不支持 |
执行已知限制操作,使用input_params参数进行配置,支持创建/查询/导出等操作.
input_params参数,支持创建/查询/导出操作单次只抓取一个URL
处理: 解析单次只抓取一个URL的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回单次只抓取一个URL的响应数据,包含状态码、结果和日志.
input_params参数,支持创建/查询/导出操作不支持JavaScript动态渲染页面
处理: 解析不支持JavaScript动态的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回不支持JavaScript动态的响应数据,包含状态码、结果和日志.
input_params参数,支持创建/查询/导出操作不支持自动翻页
处理: 解析不支持自动翻页的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回不支持自动翻页的响应数据,包含状态码、结果和日志.
input_params参数,支持创建/查询/导出操作不支持结构化(JSON/CSV)输出
处理: 解析不支持结构化(JSON/CSV的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回不支持结构化(JSON/CSV的响应数据,包含状态码、结果和日志.
input_params参数,支持创建/查询/导出操作不支持代理与认证
处理: 解析不支持代理与认证的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回不支持代理与认证的响应数据,包含状态码、结果和日志.
input_params参数,支持创建/查询/导出操作处理: 解析已知限制的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回已知限制的响应数据,包含状态码、结果和日志. 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:轻量级网页内容抓、取工具、选择器提取与文件、适合个人用户快速、获取网页文本、网页抓取工具免费、版为个人用户提供、轻量级的网页内容、抓取与提取能力等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持.
用户希望抓取一篇网页文章的正文内容,保存为本地文本文件.
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | 网页抓取工具免费版处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |
# 抓取网页纯文本
python (请参考skill目录中的脚本文件) --url "https://example.com/article"
# ...
# 抓取并保存到文件
com/article" --out "article.txt"
输出示例:
=== Page Title ===
Source: https://example.com/article
Fetched: 2026-07-18 10:30:00
# ...
这是文章的正文内容。网页抓取工具会自动去除导航栏、侧边栏、
页脚等非正文元素,提取页面的主要文本内容...
# ...
[文章正文继续...]
用户需要从网页中提取特定字段(如标题、价格、日期),使用CSS选择器精准定位.
# 提取页面标题
com" --selector "title::text"
# ...
# 提取文章标题
com/blog" --selector "h1.article-title::text"
# ...
# 提取多个元素(列表)
com/products" --selector "div.product-name::text"
输出示例:
=== Selector: h1.article-title::text ===
# ...
vLLM 0.8发布:PagedAttention全面升级
用户希望提取网页的meta信息(描述、关键词、作者等).
# 提取meta描述
com" --selector "meta[name=description]::attr(content)"
# ...
# 提取meta关键词
com" --selector "meta[name=keywords]::attr(content)"
# ...
# 提取canonical URL
com" --selector "link[rel=canonical]::attr(href)"
以下场景网页抓取工具免费版不适合处理:
需要数据分析、报表生成、统计洞察、数据可视化时使用。不适用于非本工具能力范围的需求.
# 安装Scrapling及其全部可选依赖
pip install "scrapling[all]"
scrapling install
# ...
# 安装httpx(HTTP客户端)
pip install httpx
# 最简用法:抓取网页纯文本
# 提取特定元素
com" --selector "h1::text"
# ...
# 保存到文件
com" --selector "h1::text" --out "title.txt"
python (请参考skill目录中的脚本文件) [选项]
# ...
选项:
--url URL 目标网页URL(必需)
--selector SELECT CSS选择器(可选,不指定则抓取全文)
--out PATH 输出文件路径(可选,不指定则输出到终端)
# 文本提取
title::text # 页面标题文本
h1::text # 一级标题文本
p::text # 段落文本
div.content::text # 指定class的div文本
# ...
# 属性提取
a::attr(href) # 所有链接的href属性
img::attr(src) # 所有图片的src属性
meta[name=description]::attr(content) # meta描述
# ...
# 层级选择
div.article > h1::text # article下级的h1
ul.menu li::text # menu列表项文本
table.data tr td::text # 表格单元格文本
# ...
# 伪类选择
li:first-child::text # 第一个列表项
a[href*=pdf]::attr(href) # 包含pdf的链接
# 完整安装(推荐,包含浏览器引擎)
pip install "scrapling[all]"
scrapling install
# ...
# 最小安装(仅核心解析功能)
pip install scrapling
# ...
# 验证安装
python -c "import scrapling; print(scrapling.__version__)"
纯文本抓取会包含页面的所有文本(含导航、广告等噪音)。如果只需要特定内容,务必使用--selector参数精准定位,大幅提升数据质量.
在命令行使用选择器前,先用浏览器开发者工具(F12)在Console中测试document.querySelector("你的选择器"),确认能命中目标元素,避免抓取空结果.
免费版不支持JS渲染。如果目标页面内容通过JavaScript动态加载,抓取结果可能为空。解决方法:(1)寻找页面的API接口直接抓取JSON;(2)查看页面源码确认内容是否在HTML中;(3)升级到专业版使用JS渲染功能.
抓取前检查目标站点的robots.txt(如https://example.com/robots.txt),遵守抓取规则。控制抓取频率,避免对目标站点造成压力.
抓取结果保存为文件后,便于AI助手进一步分析、总结或归档:
com/long-article" --out "article.txt"
# 然后让AI助手阅读article.txt并生成摘要
A: 常见原因:(1)Python版本过低,需≥3.8;(2)scrapling install下载浏览器引擎失败,检查网络或使用代理;(3)系统缺少编译依赖。建议先尝试pip install scrapling(最小安装),再按需安装可选依赖.
A: 可能原因:(1)CSS选择器未命中任何元素,用浏览器开发者工具验证;(2)页面内容通过JS动态加载,免费版不支持JS渲染;(3)页面需要特定请求头(User-Agent等)。建议先不加--selector抓取纯文本,确认页面是否可正常抓取.
A: 部分网站有反爬机制。免费版不支持代理和自定义请求头。解决方法:(1)降低抓取频率;(2)更换目标URL(如使用RSS源替代网页抓取);(3)升级到专业版使用代理与请求头定制功能.
A: CSS选择器遵循标准语法。常用模式:标签名(如h1)、.类名(如.title)、#ID(如#header)、属性选择器(如a[href])。文本提取用::text,属性提取用::attr(属性名)。参考W3Schools CSS选择器教程.
A: 使用::text后缀只提取文本内容,不带HTML标签。如果未使用::text而直接选择元素,返回的是HTML片段。确保选择器以::text或::attr(xxx)结尾.
A: 免费版不支持认证抓取。需要登录的页面无法直接抓取。解决方法:(1)寻找该页面的公开API;(2)手动复制页面内容;(3)升级到专业版使用Cookie/Header注入功能.
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| Python 3.8+ | 运行时 | 必需 | https://python.org |
| Scrapling | Python库 | 必需 | pip install "scrapling[all]" |
| httpx | HTTP客户端 | 必需 | pip install httpx |
| 浏览器引擎 | 系统组件 | 条件必需 | scrapling install |
| LLM API | API | 必需 | 由Agent内置LLM提供 |
| 网络访问 | 网络 | 必需 | 需能访问目标网页URL |
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |