← 返回 Skills 市场
Ghost Closer Web Scraper
作者
DreamsArts
· GitHub ↗
· v1.0.0
· MIT-0
80
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install ghost-closer-web-scraper
功能描述
Scrape complete business intelligence from Google Maps, Facebook, and Instagram for any local business. Returns structured JSON with ratings, contact info, s...
使用说明 (SKILL.md)
Ghost Closer Web Scraper
Purpose
Automates the research phase of the Ghost Closer workflow. Given a business name and location, this skill scrapes Google Maps, Facebook, and Instagram to build a complete business intelligence profile in structured JSON.
Requirements
- Python 3.10+
- Playwright (
pip install playwright) - Chrome running with remote debugging on port 9222
.envfile at/Users/edwin/.openclaw/workspace/dreams-arts/.env
Usage
From Command Line
python scraper.py "Business Name" "City, State"
From Python
from scraper import GhostCloserScraper
scraper = GhostCloserScraper()
result = await scraper.run("La Taza Coffee", "Caguas, PR")
print(result)
Output Format
{
"business_name": "La Taza Coffee",
"location_query": "Caguas, PR",
"google_maps": {
"name": "La Taza Coffee Shop",
"rating": 4.7,
"review_count": 312,
"address": "123 Calle Comercio, Caguas, PR 00725",
"phone": "+1-787-555-1234",
"website": "https://latazacoffee.com",
"hours": {"Mon": "7AM-9PM", "Tue": "7AM-9PM"},
"categories": ["Coffee shop", "Cafe"],
"photo_urls": ["https://..."]
},
"facebook": {
"page_url": "https://facebook.com/latazacoffee",
"followers": 2450,
"likes": 2300,
"logo_url": "https://...",
"recent_posts": [
{"text": "New seasonal blend!", "date": "2026-04-05", "likes": 45}
]
},
"instagram": {
"handle": "@latazacoffee",
"profile_url": "https://instagram.com/latazacoffee"
},
"services_or_menu": ["Espresso $3.50", "Latte $4.75"],
"scraped_at": "2026-04-09T14:30:00Z"
}
How Claude Should Use This Skill
- Identify the business: Extract the business name and location from the user's request.
- Run the scraper: Execute
python scraper.py "Business Name" "City, State"via Bash. - Parse the JSON output: The script prints valid JSON to stdout.
- Use the data: Feed into Ghost Closer page builder, lead generation, or competitive analysis.
Error Handling
- If Google Maps returns no results, the
google_mapsfield will benull. - If Facebook page is not found,
facebookwill benull. - Network errors are retried up to 3 times with exponential backoff.
- All errors are logged to stderr; stdout always contains valid JSON.
Notes
- Connects to existing Chrome on port 9222 (never launches a new browser).
- Respects rate limits with built-in delays between requests.
- Photos are returned as URLs only (not downloaded).
安全使用建议
This skill is 'suspicious' because it silently reads a hardcoded .env file and attaches to your existing Chrome browser (remote debugging), which can expose cookies and credentials. Before installing or running it: 1) Inspect the full scraper.py for any network calls or hidden endpoints (the distributed snippet doesn't show exfiltration but you must verify the remainder). 2) Do not run it against your personal Chrome profile — if you must test, start a dedicated ephemeral Chrome with remote debugging and no logged-in accounts. 3) Open and review the .env file referenced by the script; do not allow the script to read any .env containing secrets. 4) Prefer running in an isolated VM/container with no sensitive credentials or profiles mounted. 5) Ask the publisher why the .env path is hardcoded and why the skill requires attachment to an existing browser; ask for an option to launch a fresh, controlled browser context instead. 6) Consider using official APIs (Google/Facebook/Instagram) instead of automated scraping to avoid privacy and terms-of-service issues. If you cannot validate the code and the author’s rationale, avoid using this skill with real credentials or production data.
功能分析
Type: OpenClaw Skill
Name: ghost-closer-web-scraper
Version: 1.0.0
The skill contains a hardcoded absolute path to a sensitive `.env` file located in a specific user's home directory (`/Users/edwin/.openclaw/workspace/dreams-arts/.env`) within `scraper.py`. Additionally, it requires connecting to an existing browser via Chrome DevTools Protocol (CDP) on port 9222, which is a high-risk capability that could allow access to a user's active web sessions and cookies. While these behaviors align with the stated scraping purpose, the lack of environment portability and the use of CDP make it a significant security risk.
能力评估
Purpose & Capability
The skill claims to only scrape public business data from Google Maps, Facebook, and Instagram, which would not normally require access to a user's .env file or their running Chrome profile. The SKILL.md lists no required environment variables in the registry metadata, yet the code explicitly loads a hardcoded .env path (/Users/edwin/.openclaw/workspace/dreams-arts/.env). That is disproportionate to the stated purpose and inconsistent with the declared requirements.
Instruction Scope
Runtime instructions tell the agent to execute scraper.py and to connect to an existing Chrome on port 9222. The script connects to the user's running Chrome via CDP, which gives access to browser cookies, local authenticated sessions, and any data accessible in that profile (potentially enabling scraping of private content). The script also loads a local .env file (hardcoded path) at startup. Those actions expand scope beyond merely fetching public pages and are not documented or justified in the registry metadata.
Install Mechanism
No install spec in the registry (instruction-only with a code file). The SKILL.md requires Playwright and a Chrome instance with remote debugging; Playwright is an expected dependency for automated browsing. There is no automated installer, which lowers some risk, but the skill expects the environment to be set up in a way that grants it broad access (connected Chrome).
Credentials
Registry shows no required env vars, but the code loads a hardcoded .env file from /Users/edwin/.openclaw/workspace/dreams-arts/.env. That file may contain secrets unrelated to scraping (API keys, tokens). In addition, connecting to an existing Chrome instance can expose session cookies and tokens for logged-in accounts (Facebook/Instagram), which is a high-privilege access not justified by the public-data scraping description.
Persistence & Privilege
The skill is not always-enabled and uses default autonomous invocation. It does not request system-wide persistent installation in the manifest. However, the runtime behavior (attaching to a running browser process) gives it effective access to local authenticated state during execution — a runtime privilege that should be treated as sensitive.
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install ghost-closer-web-scraper - 安装完成后,直接呼叫该 Skill 的名称或使用
/ghost-closer-web-scraper触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release of Ghost Closer Web Scraper.
- Scrapes Google Maps, Facebook, and Instagram for structured business intelligence.
- Returns detailed JSON profiles including ratings, contact info, hours, services, and social data.
- Command line and Python usage supported.
- Handles missing data gracefully (fields set to null if not found).
- Requires running Chrome instance with remote debugging.
元数据
常见问题
Ghost Closer Web Scraper 是什么?
Scrape complete business intelligence from Google Maps, Facebook, and Instagram for any local business. Returns structured JSON with ratings, contact info, s... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 80 次。
如何安装 Ghost Closer Web Scraper?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install ghost-closer-web-scraper」即可一键安装,无需额外配置。
Ghost Closer Web Scraper 是免费的吗?
是的,Ghost Closer Web Scraper 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Ghost Closer Web Scraper 支持哪些平台?
Ghost Closer Web Scraper 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Ghost Closer Web Scraper?
由 DreamsArts(@dreamsarts)开发并维护,当前版本 v1.0.0。
推荐 Skills