一键导入
web-scraper
Extract data from web pages using fetch plugin and ha:html/ha:markdown
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Extract data from web pages using fetch plugin and ha:html/ha:markdown
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Discover, test, and document public REST/GraphQL/JSON APIs — explore endpoints, inspect responses, and build integration guides
Transform, filter, and analyse data using sandbox handlers
KQL language expertise for writing correct, efficient Kusto queries using Fabric RTI MCP tools
Connect and use external MCP servers (M365, GitHub, custom services)
Expert at building professional PDF documents using Hyperlight sandbox modules
Generate documents, reports, and formatted output files
| name | web-scraper |
| description | Extract data from web pages using fetch plugin and ha:html/ha:markdown |
| triggers | ["scrape","crawl","website","HTML","web page","webpage","URL","scrape website","web scraping","crawl site"] |
| patterns | ["fetch-and-process","data-extraction"] |
| antiPatterns | ["Don't use string concatenation for fetch chunk assembly — use array push + join","Don't parse HTML with regex — use ha:html parseHtml() or htmlToText()","Don't fetch without checking meta.ok first — handle HTTP errors","Don't hardcode URLs — pass them via event parameter","Don't scrape SPA websites (React, Next.js, Astro) — content is loaded by JavaScript. Use JSON APIs or look for API endpoints instead","Don't store raw HTML — use parseHtml() to extract text first"] |
| allowed-tools | ["register_handler","execute_javascript","execute_bash","delete_handler","get_handler_source","edit_handler","list_handlers","reset_sandbox","list_modules","module_info","list_plugins","plugin_info","manage_plugin","list_mcp_servers","mcp_server_info","manage_mcp","apply_profile","configure_sandbox","sandbox_help","register_module","write_output","read_input","read_output","ask_user"] |
ALWAYS use the two-step fetch pattern:
f.get(url) → check meta.ok and meta.contentTypef.read(url) in a loop → collect chunks → joinFor HTML content:
parseHtml(html) returns {text, links} — most efficient for bothhtmlToText(html) if you only need textextractLinks(html) if you only need linksFor Markdown content (e.g. GitHub READMEs):
markdownToText(md) strips formattingmarkdownToHtml(md) converts to HTML (then use htmlToText if needed)For structured data:
Required plugin config:
fetch.allowedDomains MUST be set (comma-separated)allowedContentTypes