원클릭으로
moonromantic
Platform rules and field mappings for the 月見ル君想フ (MoonRomantic) live venue scraper
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Platform rules and field mappings for the 月見ル君想フ (MoonRomantic) live venue scraper
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Planning principles, model selection, and scope rules for the Architect agent
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
Scraper test execution rules, output validation criteria, and report format for the Tester agent
BaseScraper contract, field rules, and Peatix-specific conventions for the Scraper Expert agent
Platform rules and field mappings for the 誠品生活日本橋 (eslite spectrum Nihonbashi) scraper
| name | moonromantic |
| description | Platform rules and field mappings for the 月見ル君想フ (MoonRomantic) live venue scraper |
--source moon_romantic
Class: MoonRomanticScraper → key auto-derived as moon_romantic (NOT moonromantic).
https://www.moonromantic.com/allevents/categories/YYYY-MMMONTHS_AHEAD = 3 future months (4 pages total)./post/{slug} links from each schedule page.title + body_text."YYYY.MM.DD | Event Title".| Field | Source |
|---|---|
source_id | moonromantic_{slug_clean} (URL slug, max 80 chars, alphanumeric + hyphens + underscores) |
source_url | Full post URL, e.g. https://www.moonromantic.com/post/260510 |
name_ja | Post title from <h1> (includes date prefix) |
start_date | Parsed from title prefix `"YYYY.MM.DD |
location_name | Always "月見ル君想フ" (hardcoded) |
location_address | Always "東京都港区南青山4-9-1 B1F" (hardcoded) |
raw_description | "開催日時: YYYY年MM月DD日\n\n" + body_text |
Title format: "2026.05.10 (日) DSPS Japan Tour"
_TITLE_DATE_RE = re.compile(r"^(\d{4})\.(\d{2})\.(\d{2})")
Parses YYYY.MM.DD from start of title.
Most events at this venue are Japanese indie — Taiwan filter is critical.
[
"台湾", "Taiwan", "臺灣", "台灣",
"台北", "高雄", "台中", "台南",
"台日", "日台",
# Label / promoter
"BIG ROMANTIC", "大浪漫",
# Frequently touring Taiwan artists
"DSPS", "VOOID", "Andr", "Sunset Rollercoaster",
"日落飛車", "告五人", "魚丁糸", "ØZI", "Elephant Gym", "大象體操",
]
page.wait_for_selector("a[href*='/post/']")./post/announcement and /post/_system are filtered out.The following title patterns indicate venue-management / admin posts — they are never Taiwan-related events. Any post whose title matches must be rejected before the Taiwan keyword check:
| Pattern | Reason |
|---|---|
RENTAL / PRIVATE RENTAL | Venue hire announcement — no cultural content |
RENT (word boundary) | Variant spelling |
場所貸し / 会場貸し | Japanese venue rental terms |
_BLOCKED_POST_PATTERNS = re.compile(
r"\bRENTAL\b|PRIVATE\s+RENTAL|\bRENT\b|場所貸し|会場貸し",
re.IGNORECASE,
)
This block is applied twice:
first_line of page_text (fast-reject before Taiwan keyword check).title after extraction (catches nav-renders-first edge cases).The 関連記事 (related articles) sidebar on each post lists other venue events, some of which may be Taiwan-related. Always truncate page_text at 関連記事 before keyword matching. Do NOT use the old > 200 threshold — it was incorrect and caused RENTAL posts to pass when the related section appeared early in the text.