[공부 내용]
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) #시간 여유
#CSV파일 생성
file = open('./my_papago.csv', 'w', newline='')
wtr = csv.writer(file) #CSV파일을 작성하는 객체 변수 'wtr' 생성
wtr.writerow(['영단어', '번역결과']) #열제목 생성
#반복문을 활용하여 번역 여러번 실행 및 결과 파일에 저장
while True:
keyword = input("번역할 영단어 입력 (0 입력하면 종료) : ")
if keyword == '0':
print('번역 종료')
break
#영단어 입력. 번역 버튼 클릭
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])
#영단어 입력 칸 초기화
driver.find_element_by_css_selector('textarea#txtSource').clear()
driver.close() #크롬창 닫기
file.close() #파일 닫기
>>결과
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)
#CSV파일에 저장된 값 불러오기
file = open('./my_papago.csv', 'r')
rdr = csv.reader(file) #불러온 파일을 rdr에 저장
next(rdr)
#데이터 딕셔너리로 저장
my_dict = {}
#딕셔너리에 영단어와 번역 결과를 모두 저장
for row in rdr:
keyword = row[0]
korean = row[1]
my_dict[keyword] = korean
file.close() #파일 닫기
# 새로운 번역 결과를 추가하기 위해 옵션 'a' 추가 후 파일을 다시 열기
file = open('./my_papago.csv','a', newline='')
wtr = csv.writer(file)
"""
새로 입력한 영단어의 번역 결과가 'my_dict' 에 이미 저장되어 있다면, 이 사실을 출력하여 알려줘야 합니다.
무한 루프 안에 조건문을 추가해주면 될 것 같습니다.
"""
#while문 만들기
while True:
keyword = input('번역할 영단어 입력(0 입력하면 종료) : ')
if keyword == '0':
print('번역 종료')
break
#새로운 영단어가 딕셔너리에 있다면 저장된 결과를 보여준다
if keyword in my_dict.keys():
print('이미 번역한 영단어입니다.\n 뜻은', my_dict[keyword], '입니다.')
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
wtr.writerow([keyword, output]) #파일에 추가
my_dict[keyword] = output #딕셔너리에 추가
driver.find_element_by_css_selector('textarea#txtSource').clear() #검색창 초기화
driver.close() #크롬창 닫기
file.close() #파일 닫기
>> 결과
'코린이_탈출 > 크롤링' 카테고리의 다른 글
[모각코_크롤링] 동적 크롤링 4 (0) | 2021.01.28 |
---|---|
[모각코_크롤링] 동적 크롤링 3 - 과제 (1) | 2021.01.27 |
[모각코_크롤링] 라이브러리 'csv' (1) | 2021.01.26 |
[모각코_크롤링] 동적 크롤링 2 - 과제 (1) | 2021.01.25 |
[모각코_크롤링] 동적 크롤링 2 (0) | 2021.01.25 |