<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tokyo-livehouse-events/app/scrapers, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>http://git.yyamashita.com/tokyo-livehouse-events/atom/app/scrapers?h=master</id>
<link rel='self' href='http://git.yyamashita.com/tokyo-livehouse-events/atom/app/scrapers?h=master'/>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/tokyo-livehouse-events/'/>
<updated>2026-09-25T15:09:06Z</updated>
<entry>
<title>Add scraper for 吉祥寺NEPO</title>
<updated>2026-09-25T15:09:06Z</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@hetzner.yyamashita.com</email>
</author>
<published>2026-09-25T15:09:06Z</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/tokyo-livehouse-events/commit/?id=999b7a3133fccc3f120ac5ae24c02bb38a4ecce9'/>
<id>urn:sha1:999b7a3133fccc3f120ac5ae24c02bb38a4ecce9</id>
<content type='text'>
Parses the monthly schedule pages (this month + next two) for date,
title, line-up, open/start times and flyer image. Price is only on
per-event detail pages, which are slow (~3s each), so it is skipped.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Fix scraper restart loop: MARZ 500 on unpublished month + set -e</title>
<updated>2026-07-11T07:47:37Z</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@hetzner.yyamashita.com</email>
</author>
<published>2026-07-11T07:47:37Z</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/tokyo-livehouse-events/commit/?id=55bb044b7deadd1fe5055078274651ce6402589f'/>
<id>urn:sha1:55bb044b7deadd1fe5055078274651ce6402589f</id>
<content type='text'>
新宿MARZ翌月スケジュールのHTTP 500がスクレイパー全体を失敗させ、
set -e によりentrypointがcron起動前に終了→再起動ループを引き起こしていた。

- marz-shinjuku: 404/500は未掲載扱いで空配列を返すよう変更
- scraper-entrypoint.sh: set -e を削除し初回スクレイプ失敗でもcronを起動

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add scrapers for 新宿MARZ and 東高円寺U.F.O.CLUB</title>
<updated>2026-07-03T01:23:41Z</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@hetzner.yyamashita.com</email>
</author>
<published>2026-07-03T01:23:41Z</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/tokyo-livehouse-events/commit/?id=44f9ef0d9caa0d9cce06635f6c0c7e045fef2796'/>
<id>urn:sha1:44f9ef0d9caa0d9cce06635f6c0c7e045fef2796</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Fix HTML entity leakage in FAD scraper and Pitbar _clone date bug</title>
<updated>2026-06-18T03:51:55Z</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@hetzner.yyamashita.com</email>
</author>
<published>2026-06-18T03:51:55Z</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/tokyo-livehouse-events/commit/?id=272f7d079cbac81c9af86b9f210ace8cabc0e98c'/>
<id>urn:sha1:272f7d079cbac81c9af86b9f210ace8cabc0e98c</id>
<content type='text'>
fad-yokohama: replace innerHTML manipulation with Cheerio .clone().text()
so that HTML entities (&amp;nbsp; etc.) are decoded before storing titles.

pitbar-nishiogikubo: strip non-numeric suffix from day part of element ID
to handle _clone-suffixed IDs that freecalend.com generates after JS renders.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add RIPS 八王子 and MatchVox 八王子 scrapers</title>
<updated>2026-05-19T13:25:18Z</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@hetzner.yyamashita.com</email>
</author>
<published>2026-05-19T13:25:18Z</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/tokyo-livehouse-events/commit/?id=23afa26eeedf271081b4f369893f785b41d2fa0a'/>
<id>urn:sha1:23afa26eeedf271081b4f369893f785b41d2fa0a</id>
<content type='text'>
Both venues are RinkyDink-affiliated live houses in Hachioji.
WordPress + My Calendar plugin; parses mc-list HTML for date, title,
artist, OPEN/START times, and price across 3 months.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add BuzzFront YOKOHAMA scraper</title>
<updated>2026-05-14T14:53:51Z</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-14T14:53:51Z</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/tokyo-livehouse-events/commit/?id=00c4851e3a716ee30d435bea20e65af55288da6f'/>
<id>urn:sha1:00c4851e3a716ee30d435bea20e65af55288da6f</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add 東高円寺二万電圧 (den-atsu) scraper</title>
<updated>2026-05-14T14:07:34Z</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-14T14:07:34Z</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/tokyo-livehouse-events/commit/?id=4c39c1b30a206d9c87c8f65581e93ee3c84328ad'/>
<id>urn:sha1:4c39c1b30a206d9c87c8f65581e93ee3c84328ad</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Fix multi-month scrape coverage and add duo MUSIC EXCHANGE</title>
<updated>2026-05-10T14:22:17Z</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-10T14:22:17Z</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/tokyo-livehouse-events/commit/?id=b56e79b5b288b7c9e2fef396b303afc32c9baf5d'/>
<id>urn:sha1:b56e79b5b288b7c9e2fef396b303afc32c9baf5d</id>
<content type='text'>
- Extend 8 scrapers (liquid-room, shibuya-o, club-quattro, meets-otsuka,
  nishieifuku-jam, fever-shindaita, fad-yokohama, and new duo-music-exchange)
  to fetch 3 calendar months instead of 1-2, covering the full 65-day window
- Add duo MUSIC EXCHANGE scraper (渋谷, ~700 cap, /schedule/YYYY/index_YYYY-MM.html)
- Add npm test: Node.js built-in test runner verifies each scraper fetches
  all required month URLs via mocked fetch (10 tests, no extra deps)

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add capacity filter for live houses (~100 / 100~300 / 300~)</title>
<updated>2026-05-07T18:50:45Z</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-07T18:50:45Z</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/tokyo-livehouse-events/commit/?id=ae6f6f7f74fd4df7704f963d2f1fdd1f3100668f'/>
<id>urn:sha1:ae6f6f7f74fd4df7704f963d2f1fdd1f3100668f</id>
<content type='text'>
- Add capacity field to VenueMeta and all 17 scrapers (researched values)
- Add capacity column to venues table with auto-migration for existing DBs
- Add capacity_range filter to queryEvents (small/medium/large)
- Add capacity selector to FilterBar UI

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add navey-floor and shimokitazawa-era scrapers</title>
<updated>2026-05-07T18:35:09Z</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-07T18:35:09Z</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/tokyo-livehouse-events/commit/?id=d116d4cee456f7d8f5fea535742e90a75b05d814'/>
<id>urn:sha1:d116d4cee456f7d8f5fea535742e90a75b05d814</id>
<content type='text'>
navey floor (赤坂): 29件取得、Cheerio + WordPress カスタムCMS
下北沢ERA: 22件取得、HTTP only (TLS証明書無効のため)

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
