๋ฐ์—”์œผ๋กœ ์„ฑ์žฅ์ค‘ ๐ŸŒฑ

Python/[๊ธฐ์ดˆ ๊ฐ•์˜ ์ •๋ฆฌ]

Python ๊ธฐ์ดˆ 2

์จ๋ฐ 2023. 2. 15. 02:06

โœ๐Ÿป ๋ฐฐ์šด์ 

 

ํŒŒ์ด์ฌ์œผ๋กœ ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ๋“ค์„ ํ†ตํ•ด ์กฐ๊ฑด๋ฌธ์„ ๊ณต๋ถ€ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. 

๋˜ํ•œ, ํŒŒ์ด์ฌ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ์„ ์ฝ๊ณ  ์“ฐ๋ฉฐ ํด๋” ์ž‘์—…์— ๋Œ€ํ•ด์„œ๋„ ๊ณต๋ถ€ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์€ ์ž‘์—…์—์„œ๋„ ์‰ฝ๊ฒŒ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

์‹ค์ œ ๋ฐ์ดํ„ฐ๋“ค์„ ํ†ตํ•ด ์•ž์„œ ๋ฐฐ์šด ๊ฒƒ๋“ค์„ ์ ์šฉํ•ด๋ณด๊ณ  ๋” ์•Œ์•„๊ฐˆ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

(ํŠนํžˆ, ๋งฅ ํ™˜๊ฒฝ์—์„œ ์ฃผ์˜ํ•  ์ ๋„ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์–ด ๋‹ค์Œ์—๋Š” ๊ฐ™์€ ์‹ค์ˆ˜๋ฅผ ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค :D)

 

 

 

 


 

 

 

๋“ค์–ด๊ฐ€๋ฉฐ

 

์ง€๋‚œ ํŒŒ์ด์ฌ ๊ธฐ์ดˆ 1์„ ๋ฆฌ๋ทฐํ•œ ํ›„, ์ง์ ‘ ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•œ ํ›„ ์ •๋‹ต๊ณผ ๋น„๊ตํ•ด๋ณด์•˜๋‹ค.

๋ถ€์กฑํ•œ ๋ถ€๋ถ„์— ์ง‘์ค‘ํ•˜๊ณ  ์‹ ๊ฒฝ์จ์•ผ ํ•  ๋ถ€๋ถ„๋“ค์— ๋Œ€ํ•ด ์งš๊ณ  ๋„˜์–ด๊ฐ€๊ณ ์ž ํ•œ๋‹ค.

 

 

 

 

 

์กฐ๊ฑด๋ฌธ ์—ฐ์Šต 1 : ์‚ฌ์šฉ์ž ์ž…๋ ฅ์— ๋”ฐ๋ฅธ ๋‹ค๋ฅธ ๊ฒฐ๊ณผ ์ถœ๋ ฅ

 

# ์กฐ๊ฑด๋ฌธ ์—ฐ์Šต
# distance ๋ผ๋Š” ๋ณ€์ˆ˜์—๋Š” ์ƒ์ˆ˜ ๊ฐ’์ด ๋“ค์–ด๊ฐˆ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
# ์ด distance ๊ฐ€ 3km ์ดํ•˜๋กœ ์ž‘๋‹ค๋ฉด "๊ฑธ์–ด ๊ฐ€์„ธ์š”" ๋ผ๊ณ  ๋งํ•˜๊ณ 
# 3km ๋ณด๋‹ค ๋ฉ€๊ณ  10 km ๋ณด๋‹ค ์ž‘๋‹ค๋ฉด "๋ฒ„์Šค ํƒ€์„ธ์š”" ๋ผ๊ณ  ๋งํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค
# ๋งŒ์•ฝ 10km ์ด์ƒ์ด๋ผ๋ฉด "ํƒ์‹œ ํƒ€์„ธ์š”"๋ผ๊ณ  ๋งํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค
# distance ์™€ ์ƒ๊ด€์—†์ด "์ˆ˜๊ณ ํ•˜์…จ์Šต๋‹ˆ๋‹ค" ๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค

distance = input("input distance?")

distance = int(distance) # ๋ฌธ์ž์—ด๋กœ ์ž…๋ ฅ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— int๋กœ ๋ณ€ํ™˜์„ ํ•ด์ฃผ์–ด์•ผ ํ•จ

if distance <= 3:
    print("๊ฑธ์–ด ๊ฐ€์„ธ์š”")
    
elif distance < 10:
    print("๋ฒ„์Šค ํƒ€์„ธ์š”")
    
else:
    print("ํƒ์‹œ ํƒ€์„ธ์š”")

print("์ˆ˜๊ณ ํ•˜์…จ์Šต๋‹ˆ๋‹ค")

 

input ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ž…๋ ฅ์„ ๋ฐ›๋Š”๋‹ค.

์ด ๋•Œ, input์€ string ํ˜•์ด๊ธฐ ๋•Œ๋ฌธ์— distance ์˜ ๊ฐ’์„ int ํ˜•๊ณผ ๋น„๊ต ํ•˜๊ธฐ ์œ„ํ•ด์„œ int ๋กœ ํ˜• ๋ณ€ํ™˜์„ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

 

 

 

 

์กฐ๊ฑด๋ฌธ ์—ฐ์Šต 2 : ์œค๋…„ ํ™•์ธ

 

# ์œค๋…„ ํ™•์ธ

for year in range(1900, 2101):
    if year % 4 == 0:
        if year % 100 == 0:
            if year % 400 == 0:
                print(f"{year} : ์œค๋…„")
            else:
                print(f"{year} : ํ‰๋…„")
        else:
            print(f"{year} : ์œค๋…„")

 

depth ๊ฐ€ 3์œผ๋กœ, ํด๋ฆฐ ์ฝ”๋“œ ์ธก๋ฉด์—์„œ ๋น„ํšจ์œจ์ ์ธ ๋‚˜์˜ ์ฝ”๋“œ์ด๋‹ค.

 

for year in range(1900, 2101):
	if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
    	print(f"{year} : ์œค๋…„")

 

์ด๋ ‡๊ฒŒ ํ•œ ์ค„๋กœ ๊น”๋”ํ•˜๊ฒŒ ์ฝ”๋”ฉํ•˜๋Š” ๋ฒ•์„ ์ตํ˜€์•ผ ํ•œ๋‹ค.

 

 

 

list comprehension (๋ฆฌ์ŠคํŠธ ์ถ•์•ฝํ˜•)

 

total = [x  for x in range(1, 5)]

# 15 ๋ฐฐ์ˆ˜ ๊ตฌํ•˜๊ธฐ ์˜ˆ์‹œ
total2 = [x  for x in range(1, 100) if x % 3 == 0 and x % 5 == 0]

 

๋ณต์žกํ•œ ์ฝ”๋“œ๋ณด๋‹ค ์ด๋ ‡๊ฒŒ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•œ ์ค„๋กœ๋„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

multiLine

 

multiline = """dddd
ddddd"""

 

multiline์€ """ ์œผ๋กœ ์ด๋ฃจ์–ด์ง€๋ฉฐ ๊ฐœํ–‰ ๋ฌธ์ž์ธ '\n' ๋„ ์ €์žฅ์ด ๋œ๋‹ค.

'

 

 

๋…ธ๋ž˜ ๊ฐ€์‚ฌ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ๋“ฑ์žฅํ•œ ๋‹จ์–ด ์กฐํšŒํ•˜๊ธฐ 

 

ditto = '''Woo woo woo woo ooh
Woo woo woo woo
Stay in the middle
Like you a little
Don’t want no riddle
๋งํ•ด์ค˜ say it back
Oh say it ditto
์•„์นจ์€ ๋„ˆ๋ฌด ๋ฉ€์–ด
So say it ditto
ํ›Œ์ฉ ์ปค๋ฒ„๋ ธ์–ด
ํ•จ๊ป˜ํ•œ ๊ธฐ์–ต์ฒ˜๋Ÿผ
๋„ ๋ณด๋Š” ๋‚ด ๋งˆ์Œ์€
์–ด๋А์ƒˆ ์—ฌ๋ฆ„ ์ง€๋‚˜ ๊ฐ€์„
๊ธฐ๋‹ค๋ ธ์ง€ all this time
Do you want somebody
Like I want somebody
๋‚  ๋ณด๊ณ  ์›ƒ์—ˆ์ง€๋งŒ
Do you think about me now yeah
All the time yeah
All the time
I got no time to lose
๋‚ด ๊ธธ์—ˆ๋˜ ํ•˜๋ฃจ
๋‚œ ๋ณด๊ณ  ์‹ถ์–ด
Ra-ta-ta-ta ์šธ๋ฆฐ ์‹ฌ์žฅ (Ra-ta-ta-ta)
I got nothing to lose
๋„ ์ข‹์•„ํ•œ๋‹ค๊ณ 
wooah wooah wooah
Ra-ta-ta-ta ์šธ๋ฆฐ ์‹ฌ์žฅ (Ra-ta-ta-ta)
But I don't want to
Stay in the middle
Like you a little
Don’t want no riddle
๋งํ•ด์ค˜ say it back
Oh say it ditto
์•„์นจ์€ ๋„ˆ๋ฌด ๋ฉ€์–ด
So say it ditto
I don't want to
Walk in this ๋ฏธ๋กœ
๋‹ค ์•„๋Š” ๊ฑด ์•„๋‹ˆ์–ด๋„
๋ฐ”๋ผ๋˜ ๋Œ€๋กœ
๋งํ•ด์ค˜ Say it back
Oh say it ditto
I want you so, want you
So say it ditto
Not just anybody
๋„ˆ๋ฅผ ์ƒ์ƒํ–ˆ์ง€
ํ•ญ์ƒ ๋‹ฟ์•„์žˆ๋˜
์ฒ˜์Œ ๋А๋‚Œ ๊ทธ๋Œ€๋กœ ๋‚œ
๊ธฐ๋‹ค๋ ธ์ง€ all this time
I got nothing to lose
๋„ ์ข‹์•„ํ•œ๋‹ค๊ณ 
wooah wooah wooah
Ra-ta-ta-ta ์šธ๋ฆฐ ์‹ฌ์žฅ (Ra-ta-ta-ta)
But I don't want to
Stay in the middle
Like you a little
Don’t want no riddle
๋งํ•ด์ค˜ say it back
Oh say it ditto
์•„์นจ์€ ๋„ˆ๋ฌด ๋ฉ€์–ด
So say it ditto
I don't want to
Walk in this ๋ฏธ๋กœ
๋‹ค ์•„๋Š” ๊ฑด ์•„๋‹ˆ์–ด๋„
๋ฐ”๋ผ๋˜ ๋Œ€๋กœ
๋งํ•ด์ค˜ Say it back
Oh say it ditto
I want you so, want you
So say it ditto
Woo woo woo woo ooh
Woo woo woo woo'''

 

ditto ๋ผ๋Š” ๋…ธ๋ž˜์˜ ๊ฐ€์‚ฌ์ด๋‹ค.

 

ditto = ditto.lower()

 

ditto ์˜ ๊ฐ€์‚ฌ์—๋Š” ๋Œ€์†Œ๋ฌธ์ž๊ฐ€ ์„ž์—ฌ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— lower ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ๋ชจ๋‘ ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊พธ์–ด ์ค€๋‹ค.

 

dict_test = {}
temp = ditto.split();

for word in temp:
    
    if word in dict_test:
        dict_test[word] += 1
    else:
        dict_test[word] = 1

 

 

๊ทธ ์ „ ๊ธ€์—์„œ ๊ณต๋ถ€ํ–ˆ๋˜ ๋Œ€๋กœ, ๋นˆ dictionary ๋ฅผ ๋งŒ๋“ค๊ณ  split ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ๋‹จ์–ด๋ฅผ ๊ตฌ๋ถ„ํ•œ๋‹ค.

๊ทธ ํ›„, ์ด๋ฏธ dict_test ์•ˆ์— word ๊ฐ€ ์žˆ๋‹ค๋ฉด ๊ฐœ์ˆ˜๋ฅผ + 1, ์—†๋‹ค๋ฉด 1๋กœ ๋งŒ๋“ค์–ด์ค€๋‹ค.

 

 

def tmp(x):
	return x[1]
sorted(dict_test.items(), key = tmp, reverse = True) # key ๋ถ€๋ถ„์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•ด์ค€๋‹ค.

 

key ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•˜๋ฉด, ๊ฐ€์‚ฌ์— ๊ฐ€์žฅ ๋งŽ์ด ๋“ฑ์žฅํ•œ ์ˆœ์œผ๋กœ ๊ฐ ๋‹จ์–ด์˜  ๋“ฑ์žฅ ํšŸ์ˆ˜๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

ํ˜„์žฌ ์ž‘์—… ๊ฒฝ๋กœ ํ™•์ธํ•˜๊ธฐ 

 

import os
os.getcwd() # ๋‚ด๊ฐ€ ์ง€๊ธˆ ์ž‘์—…ํ•˜๋Š” ๊ฒฝ๋กœ

 

๋‚ด๊ฐ€ ์ง€๊ธˆ ์ž‘์—…ํ•˜๋Š” ํ˜„์žฌ ๊ฒฝ๋กœ๊ฐ€ ์–ด๋””์ธ์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

 

 

 

์ ˆ๋Œ€ ๊ฒฝ๋กœ์™€ ์ƒ๋Œ€ ๊ฒฝ๋กœ

 

 

์ ˆ๋Œ€ ๊ฒฝ๋กœ๋ž€, ์ „์ฒด ๊ฒฝ๋กœ๋ฅผ ์˜๋ฏธํ•˜๊ณ , (์˜ˆ: c :\\workspace\\test)
์ƒ๋Œ€ ๊ฒฝ๋กœ๋ž€, ํ˜„์žฌ ์œ„์น˜ '๊ธฐ์ค€'์œผ๋กœ์˜ ๊ฒฝ๋กœ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. (์˜ˆ: .\test)

 

 

 

 

 

 

 

์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ํด๋” ์ž‘์—… ๋ช…๋ น์–ด

 

os.mkdir("") # make directory
os.chdir("") # ๋‹ค๋ฅธ directory ๋กœ change
os.listdir("") # ํ•ด๋‹น directory ์•ˆ์— ์žˆ๋Š” ํŒŒ์ผ์˜ list

 

์œ„ ๋ช…๋ น์–ด๋“ค์€ ์•Œ์•„๋‘๋ฉด ์œ ์šฉํ•˜๋‹ค.

 

 

 

 ํŒŒ์ผ ์“ฐ๊ธฐ ๋ฐ ์ฝ๊ธฐ 

 

f = open("./pic.txt", "w", encoding='utf-8')
for roots, dirs, files in os.walk("c:/Windows/"):
    for file in files:
        f.write(f"{roots}/{file}\n")
f.close()

 

ํŒŒ์ผ์„ ์“ฐ๊ณ ("w") 

 

f = open('./์ด๋ฆ„_์ƒ๋…„_์„ฑ๋ณ„_10000/', "r", encoding='utf-8')
f.close()

 

 

ํŒŒ์ผ์„ ์ฝ์„("r") ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

 ํŒŒ์ผ ์˜ฎ๊ธฐ๊ธฐ

 

import shutil
shutil.move("./pic.txt", "./test/") # pic.txt ํŒŒ์ผ์„ test ํด๋”๋กœ ์˜ฎ๊ธฐ๊ธฐ

 

shutil ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ move ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ๊ณณ์— ์žˆ๋Š” ํŒŒ์ผ์„ ๋˜ ๋‹ค๋ฅธ ํด๋” ์•ˆ์œผ๋กœ ์œ„์น˜๋ฅผ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

์„ฑ๋ณ„์— ๋”ฐ๋ฅธ ํŒŒ์ผ์„ ๋‹ค๋ฅธ ํด๋”๋กœ ๊ตฌ๋ถ„ ํ›„ ์„ฑ๋ณ„์— ๋”ฐ๋ฅธ ํ‰๊ท ๊ฐ’ ๊ตฌํ•˜๊ธฐ

 

 

### ๋ฌธ์ œ ์š”๊ตฌ์‚ฌํ•ญ

# male ํด๋” ์•ˆ์— 1, 3 ํŒŒ์ผ ์˜ฎ๊ธฐ๊ธฐ
# female ํด๋” ์•ˆ์— 2, 4 ํŒŒ์ผ ์˜ฎ๊ธฐ๊ธฐ
# ํŒŒ์ผ์„ ์ฝ์–ด์„œ male ๋ฆฌ์ŠคํŠธ, female ๋ฆฌ์ŠคํŠธ์— ๊ฐ๊ฐ append ํ•˜๊ธฐ
# ํ‰๊ท  ๊ตฌํ•˜๊ธฐ

import shutil
import os

if os.path.isdir("./male") == False:
    os.mkdir("./male")
    
if os.path.isdir("./female") == False:
    os.mkdir("./female")


for file in os.listdir("./์ด๋ฆ„_์ƒ๋…„_์„ฑ๋ณ„_10000/"):
    if file.split(".")[-1] == 'txt':
        if file.split("_")[2][0] == '1' or file.split("_")[2][0] == '3':
            shutil.move(f"./์ด๋ฆ„_์ƒ๋…„_์„ฑ๋ณ„_10000/{file}", "./male/")
        else:
            shutil.move(f"./์ด๋ฆ„_์ƒ๋…„_์„ฑ๋ณ„_10000/{file}", "./female/")
            

male = []

for file in os.listdir("./male/"):
    if file.split(".")[-1] == 'txt':
        f = open(f"./male/{file}", "r", encoding='utf-8')
        txt = f.read()
        txt = int(txt.replace(",", ""))

        male.append(txt)
        f.close()
        
        
female = []

for file in os.listdir("./female/"):
    if file.split(".")[-1] == 'txt':
        f = open(f"./female/{file}", "r", encoding='utf-8')
        txt = f.read()
        txt = int(txt.replace(",", ""))

        female.append(txt)
        f.close()


male_avg = sum(male) / len(male)
female_avg = sum(female) / len(female)


male_avg

female_avg

 

๊ตฌํ˜„ ์ž์ฒด๋Š” ์–ด๋ ต์ง€ ์•Š์€ ๋ฌธ์ œ์˜€๋‹ค.

 

๊ทธ๋Ÿฌ๋‚˜, ๋งฅ ํ™˜๊ฒฝ์€ ์ƒˆ๋กญ๊ฒŒ ์ƒ์„ฑ๋˜๋Š” ํŒŒ์ผ๋“ค์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค๋ฉด ์ด๋ฅผ ์กฐ๊ฑด๋ฌธ์„ ํ†ตํ•ด ๊ฑธ๋Ÿฌ์ฃผ๋Š” ๋กœ์ง์„ ํ•ญ์ƒ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.

(๋งฅ์—์„œ๋Š” '.DS_Store' ๋ผ๋Š” ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š”๋ฐ, ์ „์ฒด ํŒŒ์ผ์„ ๋ณด๋‹ค๋ณด๋ฉด ์ด๋ฅผ ๊ฑธ๋Ÿฌ์ฃผ๋Š” ๋กœ์ง์ด ์—†์–ด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋‹ค๋ถ„ํ•˜๋‹ˆ ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค.)

 

์กฐ๊ฑด๋ฌธ์„ ํ†ตํ•ด ํŒŒ์ผ ํ™•์žฅ์ž๋ช…์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์กฐ๊ฑด์— ๊ผญ ํฌํ•จ์‹œํ‚ค๋„๋ก ํ•˜์ž.

 

if file.split(".")[-1] == 'txt':

 

๋‚ด๊ฐ€ ์‚ดํ”ผ๊ณ  ์‹ถ์€ ํŒŒ์ผ ํ™•์žฅ์ž๋ช…์„ ๋”ฐ๋กœ ์ง€์ •ํ•ด์ฃผ๋Š” ์กฐ๊ฑด๋ฌธ์„ ํ†ตํ•ด ์›ํ™œํ•œ ์ง„ํ–‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

 

 

์Šคํƒ€๋ฒ…์Šค ๋งค์žฅ ์‚ฌ์ง„์„ ๋‹ค๋ฅธ ํด๋”์— ์ €์žฅํ•˜๊ณ  ํ•ด๋‹น ์ด๋ฏธ์ง€ ๋ช…์„ ๋งค์žฅ๋ช…์œผ๋กœ ์ €์žฅํ•˜๊ธฐ

 

 

import requests
url = "https://www.starbucks.co.kr/store/getStore.do?r=GKYHQKU7D3"
payload = {"in_biz_cds" : "0",
"in_scodes" : "0",
"ins_lat" : "37.566535",
"ins_lng" : "126.9779692",
"search_text" : "",
"p_sido_cd" : "01",
"p_gugun_cd" : "",
"in_distance" : "0",
"in_biz_cd" : "",
"isError" : "true",
"searchType" : "C",
"set_date" : "",
"all_store" : "0",
"T03" : "0",
"T01" : "0",
"T27" : "0",
"T12" : "0",
"T09" : "0",
"T30" : "0",
"T05" : "0",
"T22" : "0",
"T21" : "0",
"T10" : "0",
"T36" : "0",
"T43" : "0",
"T48" : "0",
"P10" : "0",
"P50" : "0",
"P20" : "0",
"P60" : "0",
"P30" : "0",
"P70" : "0",
"P40" : "0",
"P80" : "0",
"whcroad_yn" : "0",
"P90" : "0",
"new_bool" : "0",
"iend" : "1000",
"rndCod" : "IZVHHSIFWC",}
r =  requests.post(url, data=payload)
star = r.json()['list']

 

์ด๋ฒˆ์—๋„ ์„œ์šธ์‹œ ์Šคํƒ€๋ฒ…์Šค ๋งค์žฅ์˜ ์›นํŽ˜์ด์ง€์—์„œ ํฌ๋กค๋ง์„ ํ†ตํ•ด ์ง„ํ–‰ํ•œ๋‹ค.

 

 

# ์Šคํƒ€๋ฒ…์Šค ๋งค์žฅ ์‚ฌ์ง„์„ starbuck ํด๋” ์ƒ์„ฑํ•˜๊ณ 
# ๋งค์žฅ๋ช….jpg ํŒŒ์ผ์„ ์ €์žฅ
from urllib import request
import shutil
import os

if os.path.isdir("./starbucks") == False:
    os.mkdir("./starbucks")

for x in star:
    if x['defaultimage'] != None:
        if x['defaultimage'].split(".")[-1] == 'jpg':
            request.urlretrieve("https://www.starbucks.co.kr" + x['defaultimage'], f"./starbucks/{x['s_name']}.jpg")
        elif x['defaultimage'].split(".")[-1] == 'png':
            request.urlretrieve("https://www.starbucks.co.kr" + x['defaultimage'], f"./starbucks/{x['s_name']}.png")
        elif x['defaultimage'].split(".")[-1] == 'JPG':
            request.urlretrieve("https://www.starbucks.co.kr" + x['defaultimage'], f"./starbucks/{x['s_name']}.JPG")

 

 

์Šคํƒ€๋ฒ…์Šค ๋งค์žฅ ์‚ฌ์ง„์„ ๊ทธ๋ƒฅ ๋‹ค์šด๋กœ๋“œ ํ•˜๊ฒŒ ๋  ๊ฒฝ์šฐ,

 

์ง€๊ธˆ ํ˜„์žฌ ์ž‘์—…ํ•˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ์— ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฏธ์ง€๋ฅผ ์ €์žฅํ•  ์ƒˆ๋กœ์šด ํด๋”๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ์—ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ , ๊ทธ๋ƒฅ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด ๋ฐ›์œผ๋ฉด ์ด๋ฏธ์ง€์˜ ์ด๋ฆ„์ด ์ˆซ์ž๋งŒ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์–ด๋–ค ๋งค์žฅ์ธ์ง€ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์—†๋‹ค.

 

๋”ฐ๋ผ์„œ, ์Šคํƒ€๋ฒ…์Šค ๋งค์žฅ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด ๋ฐ›์„ ๋•Œ, ๋งค์žฅ๋ช…์ด ๋“ค์–ด๊ฐ€๋„๋ก ์ด๋ฏธ์ง€ ํŒŒ์ผ์„ ์ €์žฅํ•˜๋„๋ก ํ•œ๋‹ค. 

 

 

'Python > [๊ธฐ์ดˆ ๊ฐ•์˜ ์ •๋ฆฌ]' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

python ๊ธฐ์ดˆ 6  (0) 2023.02.26
python ๊ธฐ์ดˆ 5  (0) 2023.02.26
python ๊ธฐ์ดˆ 4  (1) 2023.02.25
python ๊ธฐ์ดˆ 3  (0) 2023.02.24
Python ๊ธฐ์ดˆ 1  (0) 2023.02.13