Programming/Python

    ๋ฌธ์ž์—ด ๋‹ค๋ฃจ๊ธฐ

    1. ์„ ์–ธ ๋ฐ ์ฃผ์„ #๋ฌธ์ž์—ด์„ ์„ ์–ธํ•  ๋•Œ๋Š” ๋”ฐ์˜ดํ‘œ( ' ), ์Œ๋”ฐ์˜ดํ‘œ( " )๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ ๋‘˜์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ >>> test1 = "eunhye" >>> print(test1) eunhye >>> test2 = 'eunhye' >>> print(test2) eunhye >>> test3 = "eunhye' File "", line 1 test3 = "eunhye' ^ SyntaxError: EOL while scanning string literal #ํŠน์ • ๋ฌธ์ž ์ถœ๋ ฅ์„ ์œ„ํ•ด์„œ๋Š” ์ด์Šค์ผ€์ดํ”„ ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉ >>> test = 'hi\ni\'m eunhye' >>> print(test) hi i'm eunhye ์ด์Šค์ผ€์ดํ”„ ๋ฌธ์ž ์ถœ๋ ฅ ๋ฌธ์ž \' ๋”ฐ์˜ดํ‘œ( ' ) \" ์Œ๋”ฐ์˜ดํ‘œ( " ) \t ํƒญ (tab) \..

    selenium ํ†ตํ•ด์„œ web crawling ํ•ด์„œ slack ๋ฉ”์„ธ์ง€ ๋ณด๋‚ด๊ธฐ

    1. selenium, schedule, requests ์„ค์น˜ - selenium : ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์ œ์–ดํ•œ๋‹ค. ๋ธŒ๋ผ์šฐ์ €์— ์ง์ ‘ ์ ‘๊ทผํ•˜๋‹ˆ ๋™์  ์›น ํŽ˜์ด์ง€๋„์— ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค. - reqeusts : ์ธํ„ฐ๋„ท์—์„œ ํŒŒ์ผ๊ณผ ์›น ํŽ˜์ด์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œ ๊ฐ€๋Šฅํ•˜๋‹ค. - schedule : ํŠน์ • ์ž‘์—…์„ ์ผ์ •์— ๋งž์ถฐ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ • ๊ฐ€๋Šฅํ•˜๋‹ค. - beautifulsoup : ์›น ํŽ˜์ด์ง€๋ฅผ ์ž‘์„ฑํ•˜๋Š” ํ˜•์‹์ธ HTML์„ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๋ฉฐ ์ •์  ์›น ํŽ˜์ด์ง€๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค. (์ œ๊ฐ€ ํฌ๋กค๋ง ํ•  ์›น ํŽ˜์ด์ง€๋Š” ๋™์  ์›น ํŽ˜์ด์ง€๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— selenium์„ ์‚ฌ์šฉํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค ๐Ÿค”) pip3 install selenium pip3 install requests pip3 install schedule 2. ํŠน์ • URL์˜ HTML ..

    ํŒŒ์ผ ๊ฒฝ๋กœ ์ด๋™(copy, move)ํ•˜๊ณ  ์‚ญ์ œ(rm)ํ•˜๊ณ  ์••์ถ•(zip)ํ•˜๊ธฐ

    1. shutil ๋ชจ๋“ˆ ์‚ฌ์šฉํ•˜๊ธฐ - copy(), move() >>> import shutil, os >>> os.chdir('/Users/eunhye/Desktop/Workspace') #shutil.copy() : source๋ฅผ destination์— ๋ณต์‚ฌ #shutil.copy(source, destination) >>> shutil.copy('A.txt', './Test') './Test/A.txt' #destination ์ด๋ฆ„์€ ์œ ์ง€๋˜๊ณ  ๋‚ด์šฉ์ด source ๋ณต์‚ฌ >>> shutil.copy('B.txt', './Test/AA.txt') './Test/AA.txt' #shutil.copytree() : ๋””๋ ‰ํ† ๋ฆฌ ํ†ต์ฑ„๋กœ ๋ณต์‚ฌ >>> shutil.copytree('.', '../Workspace_Ba..

    ํŒŒ์ผ ์—ด๊ณ (open) ์ฝ๊ณ (read) ์“ฐ๊ธฐ(wirte)

    1. open() #open() : ํŒŒ์ผ ์—ด๊ธฐ >>> path = '/Users/eunhye/Desktop/Workspace/test.txt' >>> file = open(path) 2. read() #read() : ํŒŒ์ผ ์ฝ๊ธฐ #ํ…์ŠคํŠธ ํ˜•์‹์œผ๋กœ ํ•œ์ค„์— ๋ณด์—ฌ์คŒ >>> fileContent = file.read() >>> fileContent 'test' #readlines() : ํ•œ์ค„์‹ ํŒŒ์ผ ์ฝ๊ธฐ #๋ฆฌ์ŠคํŠธ ํ˜•์‹์œผ๋กœ ๋ณด์—ฌ์คŒ >>> numberFile = open(path2) >>> numberContent = numberFile.read() >>> numberContent '1\n2\n3\n4\n5\n' >>> numberFile = open(path2) >>> numberFile.readlines() [..

    OS ๋ชจ๋“ˆ

    1. OS ๋ชจ๋“ˆ - ์šด์˜์ฒด์ œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋ชจ๋“ˆ >>> import os 2. OS ํ•จ์ˆ˜ #os.path.join : ๊ฒฝ๋กœ dir/ํŒŒ์ผ์„ ๋„ฃ์„ ๊ฒฝ์šฐ OS์— ๋งž๊ฒŒ ๊ฒฝ๋กœ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜ #Windows OS์—์„œ๋Š” '\\' Linux OS์—์„œ๋Š” '/'๋กœ ๊ตฌ๋ถ„ >>> os.path.join('Users', 'eunhhye', 'Desktop') 'Users/eunhhye/Desktop' #os.getcwd : ํ˜„์žฌ ๊ฒฝ๋กœ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜ >>> os.getcwd() '/Users/eunhye' #os.chdir : ๊ฒฝ๋กœ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•œ ํ•จ์ˆ˜ >>> os.chdir('Desktop') >>> os.getcwd() '/Users/eunhye/Desktop' >>> os.makedirs('Workspace'..

    ์›น ํฌ๋กค๋ง(BeautifulSoup)

    1. BeautifulSoup ์„ค์น˜ - ์—ฌ๊ธฐ์„œ BeautifulSoup์€ ๋ฌด์—‡์ธ๊ฐ€? ์˜ˆ์œ ์Šพ...? HTML ๋ฐ XML ํŒŒ์ผ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ ์˜ค๊ธฐ์œ„ํ•œ Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค ์–ด์›์€ '์ด์ƒํ•œ ๋‚˜๋ผ์˜ ์•จ๋ฆฌ์Šค'์—์„œ ์œ ๋ž˜๋˜์—ˆ๋‹ค๊ณ  ํ•˜๊ณ  ์•„๋ฆ„๋‹ต๊ฒŒ ์ •๋ ฌํ•ด์ค€๋‹ค๋Š” ์ •๋„์˜ ์˜๋ฏธ?! Beautiful Soup Documentation — Beautiful Soup 4.9.0 documentation Non-pretty printing If you just want a string, with no fancy formatting, you can call str() on a BeautifulSoup object (unicode() in Python 2), or on a Tag within it: str(soup) # ' ..