AIRider commited on
Commit
fd35c9f
ยท
verified ยท
1 Parent(s): 7a1b292

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +54 -0
app.py ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import requests
2
+ from bs4 import BeautifulSoup
3
+ import pandas as pd
4
+ import gradio as gr
5
+
6
+ # URL ์„ค์ •
7
+ KOSDAQ_URL = "https://finance.naver.com/sise/sise_rise.naver?sosok=1"
8
+
9
+ def scrape_kosdaq_info():
10
+ # ์š”์ฒญ ๋ฐ HTML ํŒŒ์‹ฑ
11
+ response = requests.get(KOSDAQ_URL)
12
+ response.raise_for_status()
13
+ soup = BeautifulSoup(response.text, "html.parser")
14
+
15
+ # ๋ฐ์ดํ„ฐ ์ถ”์ถœ
16
+ rows = soup.select("table.type_2 tbody tr")
17
+ data = []
18
+ for row in rows:
19
+ # ์ข…๋ชฉ๋ช… ์ถ”์ถœ
20
+ name_tag = row.select_one("a.tltle")
21
+ if name_tag:
22
+ name = name_tag.text.strip()
23
+ # ์ข…๋ชฉ ์ฝ”๋“œ ์ถ”์ถœ
24
+ code = name_tag["href"].split("code=")[-1]
25
+ data.append({"์ข…๋ชฉ๋ช…": name, "์ข…๋ชฉ์ฝ”๋“œ": code})
26
+
27
+ # DataFrame์œผ๋กœ ๋ณ€ํ™˜
28
+ df = pd.DataFrame(data)
29
+ return df
30
+
31
+ def display_kosdaq_info():
32
+ # ๋ฐ์ดํ„ฐ ์Šคํฌ๋ž˜ํ•‘ ๋ฐ ์ถœ๋ ฅ
33
+ df = scrape_kosdaq_info()
34
+ return df
35
+
36
+ # ๊ทธ๋ผ๋””์˜ค UI ์ •์˜
37
+ def kosdaq_ui():
38
+ def get_table():
39
+ # ํ…Œ์ด๋ธ” ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐ
40
+ df = scrape_kosdaq_info()
41
+ return df
42
+
43
+ interface = gr.Interface(
44
+ fn=get_table,
45
+ inputs=None,
46
+ outputs="dataframe",
47
+ title="์ฝ”์Šค๋‹ฅ ์ข…๋ชฉ ์ •๋ณด ์Šคํฌ๋ž˜ํผ",
48
+ description="๋„ค์ด๋ฒ„ ์ฆ๊ถŒ ์‚ฌ์ดํŠธ์—์„œ ์ฝ”์Šค๋‹ฅ ์ข…๋ชฉ ์ •๋ณด๋ฅผ ์Šคํฌ๋ž˜ํ•‘ํ•˜์—ฌ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค."
49
+ )
50
+ interface.launch()
51
+
52
+ # ์‹คํ–‰
53
+ if __name__ == "__main__":
54
+ kosdaq_ui()