반응형
@21-핫딜 알리미
1. 뽐뿌 사이트 접속
2. 게시판 글과 링크 읽어오기
3. 원하는 키워드 검색해서 텔레그램으로 보내기
4. 계속 반복하며 새로운 게시물 올라오면 텔레그램 보내기
1. 뽐뿌 사이트 열기
from webdriver_manager.chrome import ChromeDriverManager
from selenium import webdriver
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get(url = 'https://www.ppomppu.co.kr/zboard/zboard.php?id=ppomppu')
driver.implicitly_wait(time_to_wait=10)
결과. 잘 열림
2. 게시물 링크와 함께 긁어오기
from selenium.webdriver.common.by import By
#뽐뿌에서 제목 찾기
title_selector = '#revolution_main_table > tbody > tr > td:nth-child(3) > table > tbody > tr > td:nth-child(2) > div > a > font'
url_selector = '#revolution_main_table > tbody > tr > td:nth-child(3) > table > tbody > tr > td:nth-child(2) > div > a'
titles = driver.find_elements(By.CSS_SELECTOR, title_selector)
urls = driver.find_elements(By.CSS_SELECTOR, url_selector)
for i in range(len(titles)):
print(titles[i].text)
print('>>' + urls[i].get_attribute('href')) #Hypertext REFerence
결과.
3. 원하는 문구 '면도기' 찾아 텔레그램 전송하기
import telegram
message = ''
for i in range(len(titles)):
if '면도기' in titles[i].text:
message = titles[i].text + '\n' + urls[i].get_attribute('href')
print(message)
token = '5379028500:AAEtOhNke8GHs0SJDGqUs-tiphFavpL1ptI'
id = '58768631'
bot = telegram.Bot(token)
bot.sendMessage(chat_id = id, text = message)
결과.
4. 계속 반복하며 새로운 메시지 있으면 텔레그램 보내기
- 이번엔 ('라이' : 라이브, 라이젠 등 찾기위해) 로 검색
import telegram
from webdriver_manager.chrome import ChromeDriverManager
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
driver = webdriver.Chrome(ChromeDriverManager().install())
send_message_list = []
while True:
try:
#뽑뿌 접속
driver.get(url = 'https://www.ppomppu.co.kr/zboard/zboard.php?id=ppomppu')
driver.implicitly_wait(time_to_wait=10)
#뽐뿌에서 제목 찾기
title_selector = '#revolution_main_table > tbody > tr > td:nth-child(3) > table > tbody > tr > td:nth-child(2) > div > a > font'
url_selector = '#revolution_main_table > tbody > tr > td:nth-child(3) > table > tbody > tr > td:nth-child(2) > div > a'
titles = driver.find_elements(By.CSS_SELECTOR, title_selector)
urls = driver.find_elements(By.CSS_SELECTOR, url_selector)
message = ''
print(time.ctime())
# 웹 페이지 체크
for i in range(len(titles)):
if '라이' in titles[i].text:
message = titles[i].text + '\n' + urls[i].get_attribute('href')
# 기존에 보낸 메시지가 아니라면
if message not in send_message_list:
# 메시지리스트에 포함하고
send_message_list.append(message)
# 출력
print(message)
# 텔레그램 보내기
token = '5379028500:AAEtOhNke8GHs0SJDGqUs-tiphFavpL1ptI'
id = '58768631'
bot = telegram.Bot(token)
bot.sendMessage(chat_id = id, text = message)
# 5분 후에 다시 체크
time.sleep(60.0 * 5)
except KeyboardInterrupt:
break
결과.
- 8시 56분에 메시지 수신됨 확인
- 첫 번째 확인 이후 이상한 에러가 났는데 뭔지 모름. 이후 계속 동작 확인
- 새 게시물이 올라오지 않아 더 이상 확인 안됨
내가 원하는 키워드와 사이트를 적으면,
그 사이트에서 원하는 키워드가 있는지 확인해서 알려주는 프로그램을 만들 수 있을 것 같다.
좋네~
반응형
최근댓글