개발/코뮤니티

[파이썬 크롤링] 11일차 : 나만의 번역 사전 만들기

Hyunsun 2022. 2. 21. 00:40
728x90

코뮤니티 모각코 파이썬 크롤링 출석 인증 11일차

 

✅ 오늘의 문제 : 나만의 번역 사전 만들기

 

11일차에선 영단어 하나를 입력하고, 번역 결과를 출력하는 동적 크롤러를 구현했어요.

크롤링에선 단순히 데이터를 수집하는 것이 아닌,

받아온 데이터를 응용하는 능력이 중요하답니다.

오늘의 예제를 응용해, 나만의 번역 사전을 만들어 봅시다!

 

❗ clear함수를 사용하면 HTML 요소를 초기화할 수 있습니다.

[ Selenium의 HTML 요소 ].clear()
# 해당 HTML 요소의 내용을 초기화 시킨다.

 

⭐ 조건 ⭐

  • 반복문을 사용해 일정 횟수, 혹은 0이 입력될 때 까지 실행되어야 합니다.
  • 반복문이 종료된 후 입력받은 영단어와, 그 결과값을 모아서 출력 해 주세요.
  • 중복은 따로 검사하지 않아도 됩니다.

 

코드

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

chrome_driver = ChromeDriverManager().install()
service = Service(chrome_driver)
driver = webdriver.Chrome(service=service)

URL = "https://papago.naver.com/"
driver.get(URL)
time.sleep(3)

dictionary = {}
w_list = list()

while True:
    question = input("번역 할 영단어 입력 (0을 입력하면 종료됩니다.) : ")

    if question == "0":
        break
    w_list.append(question)

    form = driver.find_element(By.CSS_SELECTOR, "textarea#txtSource")
    form.send_keys(question)

    button = driver.find_element(By.CSS_SELECTOR, "button#btnTranslate")
    button.click()
    time.sleep(2)

    result = driver.find_element(By.CSS_SELECTOR, "div#txtTarget")
    dictionary[question] = result.text

    form.clear()

print(dictionary)
driver.close()

 

결과

728x90