코린이_탈출/크롤링

[모각코_크롤링] 동적 크롤링 3 - 과제

오월&절미 2021. 1. 27. 13:51

[공부 내용]

"""
'my_papago.csv'에 저장된 번역 결과 (한국어)를 파파고에 입력해서 번역 결과 (영어)를 출력하는 것입니다.
[과제 Tip!]
1. 'my_papago.csv' 파일을 불러온 뒤, 리스트에 한글 번역 결과만 따로 저장해서 사용하세요!
2. 파파고 웹 페이지에서 어떤 버튼을 **딱 한번만 눌러주면** '영어' ↔ '한국어'가 가능합니다. 
3. 나머지는 우리가 해온 것과 똑같습니다
"""

from selenium import webdriver
import time
import csv

driver = webdriver.Chrome('./chromedriver')
papago_url = 'https://papago.naver.com/'
driver.get(papago_url)
time.sleep(3)

###영어<->한국어 번역 버튼 한번 클릭
test = input("test 영어 : ")
driver.find_element_by_css_selector('textarea#txtSource').send_keys(test)
driver.find_element_by_css_selector('button#btnTranslate').click()
time.sleep(5)

#영어-> 한글 에서 한글-> 영어 로 바뀌는 버튼 글릭
driver.find_element_by_xpath('//*[@id="root"]/div/div[1]/section/div/div[1]/div[1]/div/div[2]/button').click()
time.sleep(10)

driver.find_element_by_css_selector('textarea#txtSource').clear()  #새로고침
print("="*4+"영어<->한국어 번역 버튼 test 끝"+"="*4)


### CSV파일의 한국어만 따로 저장
#CSV파일에 저장된 값 불러오기
file = open('./my_papago.csv', 'r')
rdr = csv.reader(file)  #불러온 파일을 rdr에 저장

next(rdr)
#딕셔너리의 한국어만 저장하는 리스트 생성
my_korean_list = []

for row in rdr:
    my_korean_list.append(row[1])

file.close()  #파일 닫기


### 단어 입력 - 번역버튼 - 번역 결과 출력
# 새로운 번역 결과를 추가하기 위해 옵션 'a' 추가 후 파일을 다시 열기
file = open('./my_papago.csv','a', newline='')
wtr = csv.writer(file)
wtr.writerow(['한글', '영단어'])  #열제목 생성

new_dict = {}
for question in my_korean_list:

    driver.find_element_by_css_selector('textarea#txtSource').send_keys(question)

    driver.find_element_by_css_selector('button#btnTranslate').click()  # 번역버튼 클릭
    time.sleep(1)

    output = driver.find_element_by_css_selector('div#txtTarget').text  # 번역 결과 수집

    wtr.writerow([question, output])  # 파일에 추가
    new_dict[question] = output  # 딕셔너리에 key=question, value=output

    driver.find_element_by_css_selector('textarea#txtSource').clear()  # 검색창 초기화
    time.sleep(1)


##딕셔너리 리스트 출력
for key in new_dict:
    print(key, ":" ,new_dict[key])


driver.close()  #크롬창 닫기
file.close()  #파일 닫기

 

>> 결과

1. 영어->한글 번역에서 버튼 누르면 한글->영어 번역 으로 바뀌는 것 확인

영어->한글
한글->영어

2. 이전 수업에서 만들었던 파일에 있는 한글 불러와 영어로 번역하여 딕셔너리 만들기