{"id":"goofish-item-detail","name":"goofish-item-detail","summary":"単一のグーフィッシュ(闲鱼/xianyu、goofish.com)の中古アイテムページから詳細なデータを抽出します。","body":"# Goofish (闲鱼) — Item Detail\n\n> item URL (or item_id + category_id) → full listing data: title, price, seller info, description, images, tags, want-count\n\n## Language\n\nAll process output to user (progress updates, process notifications) follows the user's language.\n\n## Objective\n\nLoad a single Goofish item detail page and extract its complete listing data including seller information, item description, image gallery, and attribute tags.\n\n## Prerequisites\n\n- Browser with an active Goofish session (login required — item detail pages require authenticated access)\n- Target item URL format: `https://www.goofish.com/item?id={item_id}&categoryId={category_id}`\n\n## Pre-execution Checks\n\n### 1. Tool Readiness\n\nIf browser-act has been confirmed available in the current session → skip this step.\n\nInvoke `browser-act` via Skill tool to load usage. If installation or configuration issues arise, follow its guidance to resolve then retry.\n\n### 2. Login Verification\n\nIf login status for Goofish has been confirmed in the current session → skip this step.\n\nOtherwise: open `https://www.goofish.com/` and observe the page:\n- User avatar or account entry exists → logged in, continue\n- Login/register prompt → not logged in; inform user that login is required; assist login flow\n\nUser refuses or cannot log in → terminate execution.\n\n## Capability Components\n\n> This Skill's operational boundary = what the user can manually do in their browser. It only reads data already displayed on the page. JS code is encapsulated in Python files under the `scripts/` directory, invoked via `eval \"$(python scripts/xxx.py {params})\"`. `$(...)` is bash syntax; use the bash tool for execution.\n\n### Network Capture: load item detail page\n\nThe item detail API (`mtop.taobao.idle.pc.detail/1.0/`) auto-fires when navigating to the item URL. Provide parameters via URL:\n\n1. `navigate https://www.goofish.com/item?id={item_id}&categoryId={category_id}`\n2. `wait stable`\n3. Proceed to DOM extraction below\n\nError handling:\n- If a CAPTCHA slider appears (\"Please slide to verify\"): the session is rate-limited. Wait 5–10 minutes, or use remote-assist to complete the slider manually, then re-navigate.\n- If \"网络不见了\" error page appears: the item page API call failed. Retry once after 30 seconds; if it persists, the session may be temporarily blocked.\n- If item shows \"该宝贝已下架\" or similar: item has been removed/sold — skip and move to next item.\n\nNote: Navigating to item detail pages in rapid succession (e.g., less than 2 seconds apart) increases the probability of CAPTCHA. Add 2–5 second delays between items in batch mode.\n\n### DOM: extract item detail data\n\nAfter navigating and waiting stable, extract all available fields:\n\n`eval \"$(python scripts/extract-item-detail.py)\"`\n\nOutput example:\n```json\n{\n  \"item_id\": \"1054899470781\",\n  \"item_url\": \"https://www.goofish.com/item?id=1054899470781&categoryId=126862528\",\n  \"title\": \"出一台iPhone 15 128G，电池健康度高，成色九新以上...\",\n  \"price\": \"898.00\",\n  \"original_price\": \"899.00\",\n  \"seller_name\": \"小王数码严选\",\n  \"seller_avatar\": \"https://img.alicdn.com/bao/uploaded/...\",\n  \"seller_labels\": [\"成都\", \"刚刚擦亮\", \"来闲鱼5年\", \"卖出204件宝贝\", \"好评率100%\"],\n  \"description\": \"出一台iPhone 15 128G，电池健康度高，成色九新以上...\",\n  \"images\": [\n    \"https://img.alicdn.com/bao/uploaded/i4/...\",\n    \"https://img.alicdn.com/bao/uploaded/i2/...\"\n  ],\n  \"tags\": [\"品牌：Apple/苹果\", \"型号：iPhone 15\", \"存储容量：128GB\", \"运行内存：6GB\", \"成色：几乎全新\"],\n  \"want_count\": \"8人想要\"\n}\n```\n\nFields that may be null: `original_price`, `seller_labels`, `description`, `tags`, `want_count` (depending on listing completeness). Note: on Goofish detail pages, `title` and `description` contain the same text — there is no separate title element.\n\n## Pagination\n\nN/A — single item page, no pagination.\n\n## Success Criteria\n\n`item_id non-null` and `title non-null` and `price non-null`\n\n## Known Limitations\n\n- Seller user ID (numeric) is not exposed in the DOM — only seller display name is available\n- Item detail pages trigger CAPTCHA if accessed too rapidly; recommended minimum interval: 3 seconds between items\n- Some items may require login even for viewing; the Skill will return an error if the page fails to load\n- Rapid successive navigation may trigger \"网络不见了\" error — wait 30 seconds before retrying\n\n## Execution Efficiency\n\n- **Batch orchestration**: Loop through item IDs serially with 3–5 second delays; do not parallelize within one browser. To increase throughput, distribute items across multiple browser sessions\n- **Test before batch execution**: Test with 2–3 items first to confirm selectors are valid; only then run the full batch\n- **Error resumption**: Save results item-by-item; on failure (CAPTCHA or error), record the failed item ID and resume after the CAPTCHA clears\n- **Get item IDs from search**: Use `goofish-search-list` Skill to collect item IDs, then feed them into this Skill for detail enrichment\n\n## Experience Notes\n\nPath: `{working-directory}/browser-act-skill-forge-memories/xianyu-scraper-goofish-item-detail.memory.md`\n\n**Before execution**: If the file exists, read it first — it records unexpected situations encountered during past executions (e.g., a strategy has become ineffective); adjust strategy order accordingly.\n\n**After execution**: If an unexpected situation is encountered (strategy became ineffective, page redesigned, anti-scraping upgraded, better path discovered), append a line:\n`{YYYY-MM-DD}: {what happened} → {conclusion}`\n\nNormal execution does not write to the file.","author":"@browser-act","ownerProfile":null,"authorContacts":null,"sourceUrl":"https://github.com/browser-act/skills/tree/main/solutions/ecommerce/goofish-item-detail","license":"MIT","category":null,"lang":"en","tokens":1375,"stars":0,"calls30d":1,"claimed":false,"visibility":"public","origin":"crawler","version":"0.1.0","createdAt":"2026-08-22","updatedAt":"2026-08-22","files":[{"path":"scripts/extract-item-detail.py","size":4832,"sha256":"8806be74b2d6e8ffbf243f5c091080a6512d01fb12e97ed0f43bd808dc7ed27d"}],"requires":{"mcp":[],"tools":[]},"safety":{"flags":[{"code":"net.endpoints","kind":"exfiltration","excerpt":"img.alicdn.com, www.goofish.com","message":"bundled scripts reach 2 external host(s)","severity":"warn"}],"scannedAt":"2026-08-22","hasScripts":true,"networkEndpoints":["img.alicdn.com","www.goofish.com"]}}