요구사항
- 목적
- 상세 요구사항
- 해당하는 도메인을 크롤링한다.
- case A - 할인 정보
- case B - 이벤트 정보
- case C - 코스트코 휴무일
- 결과
- 크롤링 데이터를 탭으로 구분하여 출력
- output1.txt - 상세 페이지
- 2398 7 예산농협 황금쌀(햅쌀) 10KG 등급 : 상 2024.10.07 ~ 2024.10.20 31,290 3000 28,890 6 5,200 31,990 23,790 2024.10.07 30,990 -3000원 27,990
- output2.txt - 상세페이지 서브 데이트
- 2398 2024.10.07 30,990 -3000원 27,990
- output3.txt - 이벤트
- output4.txt - 휴무일
- 10월 9일 (수) 일산점,울산점 양평점,대전점,양재점,상봉점,부산점
- 데이터 값이 없을 시 “-” 값으로 입력해주세요.
요구사항 분석
- case A - 할인 정보
- 카테고리명
- 제품명
- 할인기간
- 제품가격
- 할인액
- 할인가격
- 할인횟수
- 최고할인액
- 최고가
- 최저가
- 최근 행사 이력
- 행사시작일
- 정상가
- 할인금액
- 할인가
- case B - 이벤트 정보
- 행사명
- 행사기간
- 행사 전단 이미지
- 상세페이지 이미지
- case C - 코스트코 휴무일
- 날짜
- 휴점
- 영업점
코코달인 메인페이지(A.py) 관련 이슈
- 발견된 문제 사항들.
- 클릭 관련.
- 요소를 클릭하려고 하면 스크롤 위치때문에 클릭을 할 수 없었던 현상이 많이 발생함.
- driver.execute_script 로 클릭하려고 하면 클릭이 되지 않고 그대로 다음 동작을 수행함.
- 광고 관련 iframe 으로 인해 보이지 않는 껍데기가 요소를 감싸고 있었기 때문.
- 뒤로가기 관련.
- driver.back으로 조작하는 뒤로가기 기능이 오작동이 좀 심했음.
- 한 번에 두 번 뒤로가지거나 작동하지 않는 등 동작의 일관성을 보장할 수 없었음.
- 광고 관련.
- 광고가 너무 많이 뜨면서 패턴 또한 불규칙했음.
- 요소 클릭 시도시 갑자기 튀어나오는 광고 때문에 클릭 불가 예외가 많이 발생함.
- 광고를 종료하기 위한 html태그의 id도 항상 같은게 아니었음.
- iframe으로 잡혀있기 때문에 id만 찾는다고 되는 것도 아니었음.
- 가만히 있던 상황에 갑자기 광고가 발생해서 클릭을 방해하는 경우도 있었음.
- 그 외 원인을 알 수 없는 버그.
- 코코달인 메인페이지의 12개 항목에 대해 수집해야 하는데 11개 항목만 수집되는 현상.
- 해결 방법.
- 4번 문제를 제외하고 모두 페이지 이동에 관련된 문제임을 파악하였음.
- 페이지 이동에 대한 부분을 모두 driver.get 으로 처리하였음.
WebDriver 초기화 관련 이슈
- 프로그램 실행시 드라이버 생성 실패 오류가 발생하는 경우가 있습니다.
- 이 경우 modules 폴더 아래 pycache 라는 폴더가 있는데, 그 안의 내용물을 전부 지우고 다시 실행해주세요.