ワンクリックで
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