Skip to content

Latest commit

ย 

History

History
50 lines (37 loc) ยท 2.8 KB

File metadata and controls

50 lines (37 loc) ยท 2.8 KB

SKU-PBL

Course repository for the Fall 2025 Project-Based Learning (PBL) class.

๐ŸŽจ Insadong Gallery Crawler (์ธ์‚ฌ๋™ ๊ฐค๋Ÿฌ๋ฆฌ ์ „์‹œ ์ •๋ณด ํ†ตํ•ฉ ์ˆ˜์ง‘๊ธฐ)

์ธ์‚ฌ๋™ ์ฃผ์š” ๊ฐค๋Ÿฌ๋ฆฌ ์›น์‚ฌ์ดํŠธ์—์„œ **ํ˜„์žฌ ์ „์‹œ์ค‘(Current Exhibition)**์ธ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•˜์—ฌ ํ”„๋กœ์ ํŠธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(PostgreSQL)์— ์ ์žฌํ•˜๋Š” ํฌ๋กค๋ง ๋ชจ๋“ˆ์ž…๋‹ˆ๋‹ค.

์ •์  ํŽ˜์ด์ง€๋Š” BeautifulSoup์œผ๋กœ ๊ฐ€๋ณ๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ณ , ๋™์  ๋ Œ๋”๋ง์ด ํ•„์š”ํ•œ ์‚ฌ์ดํŠธ๋Š” Playwright๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ฐฉ์‹์œผ๋กœ ์ˆ˜์ง‘ํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ, ๋น„์ •ํ˜• ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ(์ž‘ํ’ˆ ์„ค๋ช…, ์ž‘๊ฐ€ ์ •๋ณด ๋“ฑ)๋Š” GPT API๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ •๋ฐ€ํ•˜๊ฒŒ ๊ตฌ์กฐํ™”ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๐Ÿ›  Tech Stack

โœจ Key Features

1. Hybrid Crawling Strategy

  • Static Sites: BeautifulSoup4๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์†๋„ ์ตœ์ ํ™”
  • Dynamic Sites: Playwright๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ JavaScript ๋ Œ๋”๋ง ๋ฐ ์ธํ„ฐ๋ž™์…˜(ํด๋ฆญ, ์Šคํฌ๋กค) ์ฒ˜๋ฆฌ

2. AI-Powered Data Parsing (GPT API)

  • ๊ฐค๋Ÿฌ๋ฆฌ๋งˆ๋‹ค ์ œ๊ฐ๊ฐ์ธ ์ „์‹œ ์„ค๋ช… ํ…์ŠคํŠธ(<p> ํƒœ๊ทธ ๋ญ‰์น˜)๋ฅผ GPT API์— ์ „์†กํ•˜์—ฌ ์ •ํ˜• ๋ฐ์ดํ„ฐ๋กœ ๋ณ€ํ™˜
  • ์ถ”์ถœ ํ•„๋“œ: ์ „์‹œ ์†Œ๊ฐœ(Description), ์ฐธ์—ฌ ์ž‘๊ฐ€(Artists), ์ „์‹œ์žฅ ์œ„์น˜/์ธต์ˆ˜(Location) ๋“ฑ์„ ์ž๋™์œผ๋กœ ๋ถ„๋ฆฌ ๋ฐ ๋ถ„๋ฅ˜

3. PostgreSQL Database Integration

  • ์ˆ˜์ง‘๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(PostgreSQL) ์Šคํ‚ค๋งˆ์— ๋งž์ถฐ ์ž๋™ ์ ์žฌ ๋ฐ ์ค‘๋ณต ๋ฐฉ์ง€ ์ฒ˜๋ฆฌ

๐Ÿ› Crawler Status (ํ˜„์žฌ ์ž‘์—… ํ˜„ํ™ฉ)

ํ˜„์žฌ ์ด 6๊ณณ์˜ ์ฃผ์š” ๊ฐค๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ ํฌ๋กค๋Ÿฌ ๊ตฌํ˜„ ๋ฐ ๋ฐ์ดํ„ฐ ์ ์žฌ ํ…Œ์ŠคํŠธ๋ฅผ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ๊ฐค๋Ÿฌ๋ฆฌ ์€ (Gallery Eun)
  • ๊ฐค๋Ÿฌ๋ฆฌ ์ธ์‚ฌ์•„ํŠธ (Gallery Insa Art)
  • ์ธ์‚ฌ 1010 (Insa 1010)
  • ์ธ์‚ฌ์•„ํŠธ (Insa Art)
  • ๋งˆ๋ฃจ์•„ํŠธ์„ผํ„ฐ (Maru Art Center)
  • ํ†ต์ธ ๊ฐค๋Ÿฌ๋ฆฌ (Tongin Gallery)
  • ๊ฐค๋Ÿฌ๋ฆฌ ๋ฐˆ (Gallery MEME)
  • ์˜ฌ๋ฏธ์•„ํŠธ์ŠคํŽ˜์ด์Šค (All Me Art Space)
  • ๋…ธํ™”๋ž‘ (Rho Gallery)
  • ์„œ์šธ ๋…ธ์ธ ๋ณต์ง€์„ผํ„ฐ (Seoul Noin)
  • ์„ ํ™”๋ž‘ (Sun Gallery)

๐Ÿš€ Installation & Setup

1. Prerequisites

์ด ํ”„๋กœ์ ํŠธ๋Š” Python 3.x ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

# ํ•„์ˆ˜ ํŒจํ‚ค์ง€ ์„ค์น˜
pip install -r requirements.txt

# Playwright ๋ธŒ๋ผ์šฐ์ € ๋ฐ”์ด๋„ˆ๋ฆฌ ์„ค์น˜ (ํ•„์ˆ˜)
playwright install