| ์์ค | ๊ฑด์ | ์ํ | ๋น๊ณ |
|---|---|---|---|
| ๊ณต๊ณต๋ฐ์ดํฐํฌํธ | 13,720 | โ ์์ง ์๋ฃ | ๊ณต์ ์์ฃผ, ์ด์์๊ฐ/์๊ธ ํ๋ถ |
| ์นด์นด์ค PK6 | 21,123 | โ ์์ง ์๋ฃ | ๋ฏผ์/๋ถ์ค ํฌํจ, ๊ธฐ๋ณธ ์ ๋ณด |
| ๋ค์ด๋ฒ ์ง์ญ๊ฒ์ | 1,380 | โ ์์ง ์๋ฃ | 229๊ฐ ์๊ตฐ๊ตฌ ร 2 ์ ๋ฏธ์ฌ |
| ์นด์นด์ค-๊ณต๊ณต ์ค๋ณต ๋ณํฉ | -359 | โ ์๋ฃ | ์ด๋ฆ+์ขํ+์ฃผ์ ๋ณด์์ ๋ณํฉ |
| ๋ค์ด๋ฒ ๋ธ๋ก๊ทธ/์นดํ | 56,793๊ฑด (11,136๊ฐ ์ฃผ์ฐจ์ฅ) | โ ์์ง ์๋ฃ | ์ฐธ๊ณ ํ๊ธฐ ์ค๋ํซ ํ์์ฉ |
| POI ํ์ดํ๋ผ์ธ | 1,229๊ฐ ์ฃผ์ฐจ์ฅ (12,535 web_sources) | โ ์์ง ์๋ฃ | ๋ํ๋งํธ/๋ณ์/๊ด๊ด์ง ์ฃผ๋ณ |
| YouTube ํฌ๋กค๋ง | 385 ๋ฏธ๋์ด + 450 ๋๊ธ | โ ์์ง ์๋ฃ | ํฌ ์ฃผ์ฐจ์ฅ ์์/๋๊ธ |
| ํด๋ฆฌ์ ๋๊ธ | 85๊ฑด ๋ฆฌ๋ทฐ (27๊ฐ ์ฃผ์ฐจ์ฅ) | โ ์์ง ์๋ฃ | AI ๋งค์นญ โ ๋ฆฌ๋ทฐ ๋ณํ |
| ์ ์ฒด ์ฃผ์ฐจ์ฅ | 36,223 |
<aside> โ
๊ณต๊ณต๋ฐ์ดํฐํฌํธ ์ ๊ตญ์ฃผ์ฐจ์ฅ์ ๋ณดํ์ค๋ฐ์ดํฐ (13,720๊ฑด)
<aside> ๐
์นด์นด์ค ๋ก์ปฌ API PK6 ์นดํ ๊ณ ๋ฆฌ (21,123๊ฑด)
<aside> ๐บ๏ธ
๋ค์ด๋ฒ ์ง์ญ ๊ฒ์ API (1,380๊ฑด)
<aside> ๐
์์ง ์๋ฃ
์์ง ๊ณํ: ์นด์นด์ค(๋ค์) ๋ธ๋ก๊ทธ, Google Maps ๋ฆฌ๋ทฐ
</aside>
<aside> ๐ก
ํ๊ตญ๊ตํต์์ ๊ณต๋จ ์ฃผ์ฐจ์ ๋ณด ์ ๊ณต API
1. ์๋ณธ ๊ฐ์ ธ์ค๊ธฐ
import-csv.ts (๊ณต๊ณต๋ฐ์ดํฐ CSV)
import-kakao.ts (์นด์นด์ค ๋ก์ปฌ API)
import-naver-local.ts (๋ค์ด๋ฒ ํ๋ ์ด์ค)
2. ํฌ๋กค๋ง โ web_sources
crawl-blogs.ts --engine=naver|kakao (๋ธ๋ก๊ทธ/์นดํ)
crawl-youtube.ts (์ ํ๋ธ ๋๊ธ+๋ฏธ๋์ด)
collect-poi-content.ts โ analyze-poi-content.ts โ load-poi-to-db.ts (POI)
3. ์ ์ ์ฐ์ถ
compute-keyword-idf.ts โ data/keyword-idf.json
compute-text-scores.ts โ web_sources.sentiment_score
compute-parking-stats.ts โ parking_lot_stats ํ
์ด๋ธ
4. ํ๋ ์ด์
curate-hell-parking.ts (ํฌ์ฃผ์ฐจ์ฅ 99๊ณณ ํ๊น
)
๋ชจ๋ ์คํฌ๋ฆฝํธ๋ --remote ํ๋๊ทธ๋ก ๋ฆฌ๋ชจํธ D1์ ์ง์ ์คํ ๊ฐ๋ฅ.
| ์คํฌ๋ฆฝํธ | ์ญํ | ์คํ ์์ |
|---|---|---|
import-csv.ts |
๊ณต๊ณต๋ฐ์ดํฐ CSV โ D1 | ์ 1ํ (๋ฐ์ดํฐ ๊ฐฑ์ ์) |
import-kakao.ts |
์นด์นด์ค PK6 ์ฃผ์ฐจ์ฅ ์์ง | ๋น์ ๊ธฐ |
crawl-blogs.ts |
๋ธ๋ก๊ทธ/์นดํ ๋ฆฌ๋ทฐ (--engine=naver | kakao) |
crawl-youtube.ts |
YouTube ์์/๋๊ธ | ๋น์ ๊ธฐ |
load-poi-to-db.ts |
POI ์ฝํ ์ธ โ D1 | ๋น์ ๊ธฐ |
compute-parking-stats.ts |
๋ฒ ์ด์ง์ ํตํฉ ์ ์ ์ฐ์ถ | ๋ฆฌ๋ทฐ ๋ณ๋ ์ |
curate-hell-parking.ts |
ํฌ/์ด์ง ํ๋ ์ด์ ํ๊น | ํ๋ ์ด์ ์ถ๊ฐ ์ |