网页抓取工具免费版
网页抓取工具免费版为个人用户提供轻量级的网页内容抓取与提取能力. 核心能力: - 网页纯文本抓取 - CSS选择器精准提取 - 抓取结果保存文件 - 多种输出格式 适用场景: - 单页内容快速提取 - 文章正文抓取归档 - 数据字段精准提取 差异化:免费版聚焦核心抓取与选择器提取流程,基于Scrapling实现轻量部署,适合个人用户快速抓取网页内容,无需复杂…
天轰穿
@thcjp
What This Skill Does
轻量级网页内容抓取工具,基于Scrapling库实现纯文本抓取和CSS选择器精准提取,支持将结果保存为本地文件。适用于单页内容快速提取,无需复杂配置。
Replaces manually copying text from web pages or writing custom scraping scripts by providing a simple command-line interface for extracting visible text and specific elements via CSS selectors.
When to Use It
- 提取网页文章的正文内容并保存为本地文本文件
- 使用CSS选择器精准抓取页面中的标题、价格或日期等特定字段
- 获取网页的meta描述、关键词或作者等元数据信息
- 从博客或新闻页面快速归档纯文本内容
- 抓取产品列表页中多个元素的名称或文本
Install
$ 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的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回单次只抓取一个URL的响应数据,包含状态码、结果和日志.
- 执行此能力时使用
input_params参数,支持创建/查询/导出操作
不支持JavaScript动态
不支持JavaScript动态渲染页面
处理: 解析不支持JavaScript动态的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回不支持JavaScript动态的响应数据,包含状态码、结果和日志.
- 执行此能力时使用
input_params参数,支持创建/查询/导出操作
不支持自动翻页
不支持自动翻页
处理: 解析不支持自动翻页的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回不支持自动翻页的响应数据,包含状态码、结果和日志.
- 执行此能力时使用
input_params参数,支持创建/查询/导出操作
不支持结构化(JSON/CSV
不支持结构化(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
第二步:首次抓取
# 最简用法:抓取网页纯文本
第三步:使用CSS选择器
# 提取特定元素
com" --selector "h1::text"
# ...
# 保存到文件
com" --selector "h1::text" --out "title.txt"
示例
命令行参数详解
python (请参考skill目录中的脚本文件) [选项]
# ...
选项:
--url URL 目标网页URL(必需)
--selector SELECT CSS选择器(可选,不指定则抓取全文)
--out PATH 输出文件路径(可选,不指定则输出到终端)
常用CSS选择器示例
# 文本提取
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的链接
Scrapling安装说明
# 完整安装(推荐,包含浏览器引擎)
pip install "scrapling[all]"
scrapling install
# ...
# 最小安装(仅核心解析功能)
pip install scrapling
# ...
# 验证安装
python -c "import scrapling; print(scrapling.__version__)"
最佳实践
1. 优先使用CSS选择器精准提取
纯文本抓取会包含页面的所有文本(含导航、广告等噪音)。如果只需要特定内容,务必使用--selector参数精准定位,大幅提升数据质量.
2. 选择器要先在浏览器验证
在命令行使用选择器前,先用浏览器开发者工具(F12)在Console中测试document.querySelector("你的选择器"),确认能命中目标元素,避免抓取空结果.
3. 处理动态加载内容
免费版不支持JS渲染。如果目标页面内容通过JavaScript动态加载,抓取结果可能为空。解决方法:(1)寻找页面的API接口直接抓取JSON;(2)查看页面源码确认内容是否在HTML中;(3)升级到专业版使用JS渲染功能.
4. 遵守robots.txt与使用条款
抓取前检查目标站点的robots.txt(如https://example.com/robots.txt),遵守抓取规则。控制抓取频率,避免对目标站点造成压力.
5. 文件保存便于后续处理
抓取结果保存为文件后,便于AI助手进一步分析、总结或归档:
com/long-article" --out "article.txt"
# 然后让AI助手阅读article.txt并生成摘要
常见问题
Q: Scrapling安装失败怎么办?
A: 常见原因:(1)Python版本过低,需≥3.8;(2)scrapling install下载浏览器引擎失败,检查网络或使用代理;(3)系统缺少编译依赖。建议先尝试pip install scrapling(最小安装),再按需安装可选依赖.
Q: 抓取结果是空字符串怎么办?
A: 可能原因:(1)CSS选择器未命中任何元素,用浏览器开发者工具验证;(2)页面内容通过JS动态加载,免费版不支持JS渲染;(3)页面需要特定请求头(User-Agent等)。建议先不加--selector抓取纯文本,确认页面是否可正常抓取.
Q: 抓取被目标网站拦截怎么办?
A: 部分网站有反爬机制。免费版不支持代理和自定义请求头。解决方法:(1)降低抓取频率;(2)更换目标URL(如使用RSS源替代网页抓取);(3)升级到专业版使用代理与请求头定制功能.
Q: CSS选择器语法不熟悉怎么办?
A: CSS选择器遵循标准语法。常用模式:标签名(如h1)、.类名(如.title)、#ID(如#header)、属性选择器(如a[href])。文本提取用::text,属性提取用::attr(属性名)。参考W3Schools CSS选择器教程.
Q: 抓取结果包含大量HTML标签怎么办?
A: 使用::text后缀只提取文本内容,不带HTML标签。如果未使用::text而直接选择元素,返回的是HTML片段。确保选择器以::text或::attr(xxx)结尾.
Q: 如何抓取需要登录的页面?
A: 免费版不支持认证抓取。需要登录的页面无法直接抓取。解决方法:(1)寻找该页面的公开API;(2)手动复制页面内容;(3)升级到专业版使用Cookie/Header注入功能.
依赖说明
运行环境
- Agent平台: 支持SKILL.md的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI等)
- 操作系统: Windows / macOS / Linux
- Python版本: ≥ 3.8
- 运行时: 需要终端执行能力(exec)以调用Python脚本
第三方依赖
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| 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 |
API Key 配置
- 本Skill基于Python脚本驱动,无需额外API Key
- 无外部付费API依赖
- 目标网页若需认证,免费版暂不支持
可用性分类
- 分类: MD+EXEC(纯Markdown指令,核心功能需要exec命令行执行Python脚本)
- 说明: 基于Markdown的AI Skill,通过自然语言指令驱动Agent调用Python脚本完成网页内容抓取任务。免费版聚焦个人用户的单页抓取、CSS选择器提取与文件保存,适合文章正文提取、数据字段精准提取与页面元数据获取场景.
错误处理
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |
Top skills in this category
Playwright (Automation + MCP + Scraper)
@ivangdavilaAutomates, tests, and debugs browsers with Playwright: locators, auto-waiting, traces, CI runs, and MCP browser control. Use when a test is flaky, times out, or fails only in CI or headless; when a locator matches multiple elements or the wrong one (strict mode violation); when clicks need force, waits become sleeps, or networkidle never settles; for storageState and login setup, request mocking and HAR replay, uploads and downloads, iframes and shadow DOM, popups and dialogs, screenshot diffs that change per machine, trace and report artifacts, sharding a slow suite, device and permission emulation, accessibility checks, driving a real browser through Playwright MCP, extracting data from JS-rendered pages, or porting a Cypress, Puppeteer, or Selenium suite to Playwright. Not for maintaining an existing Cypress or Puppeteer suite (cypress, puppeteer) or for work a plain HTTP request answers (http).
opentwitter
@infra403Twitter/X and meme evidence data via the 6551 API. Supports user profiles, tweet search, user tweets, follower events, deleted tweets, KOL followers, meme token evidence, and meme activity.
Scrapling Official Skill
@d4vinciScrape web pages using Scrapling with anti-bot bypass (like Cloudflare Turnstile), stealth headless browsing, spiders framework, adaptive scraping, and JavaScript rendering. Use when asked to scrape, crawl, or extract data from websites; web_fetch fails; the site has anti-bot protections; write Pyth
Agent Browser Core
@codedao12OpenClaw skill for the agent-browser CLI (Rust-based with Node.js fallback) enabling AI-friendly web automation with snapshots, refs, and structured commands.
Polymarket
@mvanhornQuery and trade on Polymarket prediction markets — check odds, trending markets, search events, view order books, place trades, and manage positions. Now ava...