一键导入
版元ドットコム Playwright scraper for Taiwan-related books (Publication Intel v3.1)
npx skills add https://github.com/TuiTuiKoan/Tokyo_Taiwan_Radar --skill hanmoto复制此命令并粘贴到 Claude Code 中以安装该技能
版元ドットコム Playwright scraper for Taiwan-related books (Publication Intel v3.1)
npx skills add https://github.com/TuiTuiKoan/Tokyo_Taiwan_Radar --skill hanmoto复制此命令并粘贴到 Claude Code 中以安装该技能
Implementation rules for database migrations, Python scrapers, and Next.js web for the Engineer agent
BaseScraper contract, field rules, and Peatix-specific conventions for the Scraper Expert agent
河出書房新社 RDF/RSS 1.0 scraper for Taiwan-related books and events (Publication Intel v3.1)
NDL OpenSearch API scraper for Taiwan-related books (Publication Intel v3.1)
BaseScraper contract, field rules, and Peatix-specific conventions for the Scraper Expert agent
Platform rules, Taiwan filter, date extraction, and known quirks for the Google News RSS scraper
| name | hanmoto |
| description | 版元ドットコム Playwright scraper for Taiwan-related books (Publication Intel v3.1) |
hanmotohttps://www.hanmoto.com/bd/search/keyword/台湾/sdate_desc版元ドットコムは日本出版社の統合書誌データベース。keyword=台湾 + sdate_desc(発売日降順)で台湾関連書籍を最大 3 ページ取得する。
| 項目 | 詳細 |
|---|---|
| エンジン | Playwright Chromium (headless=True) |
| ページング | /order/desc/offset/{offset}(20件/ページ、最大 3 ページ) |
| カード selector | div.booklist-item → ul.bookList > li → div.list-item → .booklist .item(優先度順) |
source_id 形式 | hanmoto_{isbn13} または hanmoto_{md5(detail_url)[:12]} |
| ISBN 取得 | data-isbn 属性 → href パスの /isbn/{13桁} 部分 |
| 発売日形式 | YYYY年MM月DD日 または YYYY-MM-DD |
hanmoto.com のマークアップは変更されることがあるため、カード検出に複数 selector を試みる仕様。
ページに表示されるカード数が _PAGE_SIZE(=20) 未満の場合はページング終了。
_CARD_SELECTORS = [
"div.booklist-item",
"ul.bookList > li",
"div.list-item",
".booklist .item",
]
実際の selector が変わった場合: SKILL.md の _CARD_SELECTORS を更新し history.md に記録する。
hanmoto は発売日降順でソートされるため、最初のページに最新書籍が並ぶ。
過去書籍は 3 ページ(60 件)を超えると自然にフォールオフする(アーカイブ挙動)。
start_date が過去日付の書籍は Active ビューから外れるが is_active=true は維持される(仕様どおり)。
版元ドットコムは keyword=台湾 でサーバー側フィルタを実施済みだが、
server 側のフィルタが崩れた場合に備えて client-side フィルタも必ず実施する。
hanmoto は server-side で台湾検索済みのため、0 件は異常(scraper 不具合の可能性)。
ZERO_EVENT_OK_SOURCES には 追加しない。
location_name / location_address / business_hours / price_info 統一填 新書購買請洽各通路,performer 填作者,organizer は出版社名,event_form = ["publication"]。tzinfo=timezone.utc: datetime(y, m, d, tzinfo=timezone.utc) を使用name_ja_locked = Trueorganizer_type = ["media"] 固定(各書籍の出版社名は organizer フィールドに格納)