일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 파이썬 설치하기
- hashcode
- pip업그레이드
- 깃허브 리드미 꾸미기
- Redis
- Visual Studio Code 파이썬
- 깃허브 리드미
- 프라이탁
- Sanner와 BufferedReader의 차이점
- setting.xml
- 프라이탁 알림봇
- 분산락
- 파이썬 설치
- visual studio code
- 신규 프로젝트 생성후 빌드시 오류
- 리드미 꾸미기
- spring-boot-starter-parent
- 깃허브
- 프라이탁 파이썬
- 깃허브 방문자
- 파이썬 pip
- 윈도우10에 파이썬 설치
- 알고리즘 입력받는 값
- 깃허브 프로필
- 동등성
- maven 오류
- 레디스
- Redisson
- GitHub profile
- 깃허브 뱃지
- Today
- Total
yeo72.devlog
[Python] 프탁봇 - 이미지 소스 출력하기 본문
프라이탁 봇을 만들기 위해 파이썬 크롤링 하는 방법을 배웠다
파이썬에 대해 아무것도 모르기때문에 유튜브에서 아주 기초적인 프로그램을 먼저 만들어봤다
👉식단을 알려주는 텔레그램 봇 만들기
https://www.youtube.com/watch?v=zxzRlIutDu8
아주 쉽게 설명해줘서 찬찬히 따라해 보니 바로 만들어져서 프탁봇 만들기 돌입
그러나 프탁봇은 따로 강의가 있는게 아니기때문에 스텝 하나 나가기가 하늘의 별따기ㅜ
일단 관련 블로그를 두개 찾아서 따라하는데 잘 안됐다
아마 프라이탁 측에서 자주 소스코드를 바꾸나봄?

일단 프라이탁은 랜덤으로 업데이트 되면 아이템 리스트에 갑자기 새로 업데이트된 아이템이 주르륵 생김
그래서 기존의 이미지 코드를 저장하고, 새로운 이미지 코드가 생기면 업데이트 된 것이기 때문에 프탁봇으로 알림을 주면 되는데
기존의 이미지 코드를 어케 저장하는지가 문제였다
정확히는 이 태그를 어떻게 지정하는지를 몰라서 하루 꽉채워 고민했음ㅜㅜ
개발자 도구가서 selector복사하고 하니까 바로 떠서 해결한줄알았으나 출력시 딱 첫번째 상품의 이미지 태그만 나오는거,,ㅋㅋㅋㅋ

#block-freitag-content > article > section:nth-child(2) > div > div > div > div > div:nth-child(2) > div.container.mx-auto > div > div > div > div.flex.flex-wrap > div:nth-child(n) > div > picture > img
그래서 진짜 눈이 떨어져라 확인하니까 저기 빨간색 해놓은 부분만 2,3,4,5일케 달라서 n으로 하니까 해결!

요렇게 뭉태기로 출력된다!
힘들었다,,,,
다음은 새로운 코드 비교해서 알람울리는 메서드를 만들고 봇까지 만들어서 찾아오겠습니다✋
👇아래는 제가 작성한 코드입니다
from selenium import webdriver
from selenium.webdriver.common.keys import Keys ##셀레니움 임포트
driver = webdriver.Chrome()
driver.get("https://www.freitag.ch/en/f41") ## 자동으로 들어갈 주소 입력
driver.find_element_by_class_name('dismiss-cookies').click()
new_items = []
for item in driver.find_elements_by_css_selector('#block-freitag-content > article > section:nth-child(2) > div > div > div > div > div:nth-child(2) > div.container.mx-auto > div > div > div > div.flex.flex-wrap > div:nth-child(n) div > picture > img'):
image_src = item.get_attribute('src')
new_items.append(image_src)
print(new_items)
개초보 + 얼레벌레 코딩이기때문에 틀리거나 고칠 항목이 있다면 말씀해주세욥!
'Project' 카테고리의 다른 글
[Python] 프탁봇 - 업데이트 된 정보를 텔레그램으로 전송! (0) | 2022.05.12 |
---|---|
[Python] 프탁봇 - 업데이트 시 표시하기 (0) | 2022.03.05 |
[Python] 프탁봇을 만들어보자 (0) | 2022.02.17 |