بنقرة واحدة
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.