유튜버들의 강의를 듣고 연습을 진행
텔래그램의 api가 많이 변경된듯하여 수정하여 기록
from selenium import webdriver
import time
from telegram.ext import Updater, MessageHandler, Filters, CommandHandler
driver = webdriver.Chrome('C:/temp/chromedriver.exe') # 크롬 드라이버 실행
updater = Updater(token='1586693187:AAHyHFegfJfHh-x4HrgJst2Ktj1z0lr3zZ0') # 봇의 업데이트 내용 받기
dispatcher = updater.dispatcher # 봇의 행동 규칙 선언
def pic(update, context):
for i in range(1,8):
#print('{}'.format(i))
url = "https://search.naver.com/search.naver?sm=tab_hty.top&where=nexearch&query=%EC%98%81%ED%99%94%EC%88%9C%EC%9C%84&oquery=%EB%84%A4%EC%9D%B4%EB%B2%84+%EC%98%81%ED%99%94%EC%88%9C%EC%9C%84&tqi=hsn5TdprvhGsskTMaORssssstJ8-516124"
driver.get(url)
time.sleep(0.5)
num = driver.find_element_by_xpath("//*[@id='main_pack']/div[2]/div[2]/div/div/div[2]/div[1]/div[1]/div/ul[1]/li[{}]/a/div/div[1]/span/span[2]".format(i)) # 1위 영화 제목
title = driver.find_element_by_xpath("//*[@id='main_pack']/div[2]/div[2]/div/div/div[2]/div[1]/div[1]/div/ul[1]/li[{}]/a/div/div[2]/strong".format(i))
find = driver.find_element_by_xpath("//*[@id='nx_query']") # 검색창 element
find.clear() # 기존에 입력된 검색어 삭제
time_name = title.text
find.send_keys("영화 {}".format(title.text)) # 영화 띄우고 영화제목 입력
driver.find_element_by_xpath("//button[@type='submit']").click() # 돋보기 버튼 element 클릭
jumsu = driver.find_element_by_xpath("//*[@id='main_pack']/div[1]/div[2]/div[1]/div[2]/div[3]/ul/li[2]/a/div[1]/span[1]")
img = driver.find_element_by_xpath("//*[@id='main_pack']/div[1]/div[2]/div[1]/div[2]/div[2]/a/img").screenshot("c:/temp/poster.png")
#print(num.text)
time.sleep(0.1)
context.bot.send_message(chat_id=update.message.chat_id, text="네이버 영화 순위 {}위 : {}".format(i, time_name))
context.bot.send_message(chat_id=update.message.chat_id, text="관람객 평점 :{}".format(jumsu.text))
context.bot.send_photo(chat_id=update.message.chat_id, photo=open("c:/temp/poster.png", 'rb')) # 사진 보내기 함수
#echo_handler = MessageHandler(Filters.text, pic)
pic_handler = CommandHandler('movie', pic)
dispatcher.add_handler(pic_handler) # 규칙 추가
updater.start_polling() # 봇 구동 시작
updater.idle()
댓글