Server/Python
λͺ¨κ°μ½ νμ΄μ¬ ν¬λ‘€λ§ 13μΌμ°¨
thals0
2022. 4. 8. 16:46
728x90
#13. λμ ν¬λ‘€λ§ β’
π ꡬνν μμ€μ½λ
2κ°μ μμ€μ½λλ₯Ό ꡬνν¨
β 첫 λ²μ§Έ μμ€μ½λ
- μλ¨μ΄ λ²μ μ¬λ¬ λ² μ€ν
- λ²μ κ²°κ³Όλ₯Ό λͺ¨λ 'my_papago.csv' νμΌμ μ μ₯
β λ λ²μ§Έ μμ€μ½λ
- μλ¨μ΄ λ²μ μ¬λ¬ λ² μ€ν
- 'my_papago.csv' νμΌμ μλ μλ¨μ΄μΌ κ²½μ°, μ μ₯νμ§ μμ
- 'my_papago.csv' νμΌμ μλ μλ¨μ΄λ λ²μ κ²°κ³Ό μ μ₯
π 첫λ²μ§Έ νμ΄μ¬ μ½λ μμ±
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
import time
import csv
chrome_driver = ChromeDriverManager().install()
service = Service(chrome_driver)
driver = webdriver.Chrome(service=service)
papago_url = "https://papago.naver.com/"
driver.get(papago_url)
time.sleep(3)
f = open("./my_papago.csv", "w", newline="", encoding="utf-8-sig")
wtr = csv.writer(f)
wtr.writerow(["μλ¨μ΄", "λ²μκ²°κ³Ό"])
while True:
keyword = input("λ²μν μλ¨μ΄ μ
λ ₯ (0 μ
λ ₯νλ©΄ μ’
λ£) : ")
if keyword == "0":
print("λ²μ μ’
λ£")
break
form = driver.find_element(By.CSS_SELECTOR, "textarea#txtSource")
form.send_keys(keyword)
button = driver.find_element(By.CSS_SELECTOR, "button#btnTranslate")
button.click()
time.sleep(1)
output = driver.find_element(By.CSS_SELECTOR, "div#txtTarget").text
wtr.writerow([keyword, output])
driver.find_element(By.CSS_SELECTOR, "textarea#txtSource").clear()
driver.close()
f.close()
π μ€ν κ²°κ³Ό
π λλ²μ§Έ νμ΄μ¬ μ½λ μμ±
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
import time
import csv
chrome_driver = ChromeDriverManager().install()
service = Service(chrome_driver)
driver = webdriver.Chrome(service=service)
papago_url = "https://papago.naver.com/"
driver.get(papago_url)
time.sleep(3)
f = open("./my_papago.csv", "r", encoding="utf-8-sig")
rdr = csv.reader(f)
next(rdr)
my_dict = {}
for row in rdr:
keyword = row[0]
korean = row[1]
my_dict[keyword] = korean
f.close()
f = open("./my_papago.csv", "a", newline="", encoding="utf-8-sig")
wtr = csv.writer(f)
# whileλ¬Έ μμ μλ 쑰건문μ νμΈν΄μ£ΌμΈμ
while True:
keyword = input("λ²μν μλ¨μ΄ μ
λ ₯ (0 μ
λ ₯νλ©΄ μ’
λ£) : ")
if keyword == "0":
print("λ²μ μ’
λ£")
break
# μλ¨μ΄κ° 'my_dict'μ ν€ κ° μ€μ μλ€λ©΄, μ΄ μ¬μ€μ μλ €μ£Όκ³ μ μ₯λμ΄μλ λ²μ κ²°κ³Ό μΆλ ₯
if keyword in my_dict.keys():
print("μ΄λ―Έ λ²μν μλ¨μ΄μ
λλ€! λ»μ", my_dict[keyword], "μ
λλ€.")
# μμ κ²½μ°μ ν¬ν¨λμ§ μμΌλ©΄, λμ
λ리μ CSV νμΌμ μΆκ°
else:
driver.find_element(By.CSS_SELECTOR, "textarea#txtSource").send_keys(keyword)
driver.find_element(By.CSS_SELECTOR, "button#btnTranslate").click()
time.sleep(1)
output = driver.find_element(By.CSS_SELECTOR, "div#txtTarget").text
# CSV νμΌμ ν μΆκ°
wtr.writerow([keyword, output])
# λμ
λ리μ μΆκ°
my_dict[keyword] = output
driver.find_element(By.CSS_SELECTOR, "textarea#txtSource").clear()
driver.close()
f.close()
π μ€ν κ²°κ³Ό
ββμ 리νκΈ°β
ββ λΌμ΄λΈλ¬λ¦¬ μ€λΉ
- λμ ν¬λ‘€λ§μ μν΄ selenium, time
- csv νμΌμ λ€λ£¨κΈ° μν΄ csv
β 첫λ²μ§Έ μμ€μ½λ
- csv νμΌμμ±
- writer κ°μ²΄ μ¬μ©
- csv νμΌμ μ΄ μ λͺ© μμ±
- λ°λ³΅λ¬ΈμΌλ‘ λ²μ μ¬λ¬λ² μ€ν λ° csv νμΌμ μ μ₯
β λλ²μ§Έ μμ€μ½λ
- csv νμΌμ μ μ₯λ κ° λΆλ¬μ€κΈ°
- λΆλ¬μ¨ λ°μ΄ν°λ₯Ό λμ λλ¦¬λ‘ μ μ₯
- νμΌλ«κ³ λ€μ μ΄κΈ°
- csv νμΌμ μ΄ μ λͺ© μμ±
- λ°λ³΅λ¬ΈμΌλ‘ λ²μ μ¬λ¬λ² μ€ν λ° csv νμΌμ μΆκ°
728x90