일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 네이버데이터랩
- 데이터랩
- >>>>>>HEAD
- 빅데이터분석
- KDT
- 부동산 저평가
- 부동산 집값 예측
- pycaret
- 데이터분석
- 데이터시각화
- 주피터노트북
- 판다스
- 아파트가격비교
- 파이썬
- python
- 크롤링
- 빅데이터
- 부동산저평가
- =======
- 부동산
- seaborn
- 실거래가분석
- 리치고
- 집값예측
- 파이캐럿
- LF will be replaced by CRLF the next time Git touches it
- 네이버
- 네이버트렌드
- 부동산 저평가 지역
- pandas
- Today
- Total
20대 마무리
[#2] 크롤링 - 트렌드 확인 본문
본격적인 스크래핑을 진행하기 전에, 최신 트렌드를 확인했습니다.
네이버 데이터랩에 있는, 카테고리별 작일 인기검색어 1위가 무엇인지 확인하고 추출하겠습니다.
이후에 해당 품목을 네이버 쇼핑에서 검색해서 크롤링하여 해당 품목의 가격들을 비교해보도록 하겠습니다.
우선 네이버 데이터랩을 이용해 최신 트렌드를 확인해보겠습니다.
1. 크롬드라이버를 통해 네이버 데이터랩에 접속
저는 Jupyter Notebook 환경에서 셀을 분할하여 진행했지만, 셀을 병합하여 한꺼번에 실행할 경우, 충돌이 일어나는 경우가 생기기때문에 time.sleep() 을 넣어주었습니다.
2. 카테고리 목록을 뽑아서, 사용자에게 검색하고자 하는 카테고리를 입력 받기
CSS 셀렉터를 이용해서 a 태그의 클래스를 기입하고, click() 메서드를 통해서 카테고리 목록을 활성화 시켰습니다.
카테고리 목록을 활성화한 이유는, 전체 카테고리 목록을 뽑아내기 위해서 입니다. 활성화하지 않고도, 뽑아낼 수 있는 방법이 있는지는 조금 더 찾아봐야 하겠습니다.
태그를 이용해 카테고리 목록을 뽑아서 출력하여 사용자에게 보여주고, 카테고리를 입력받고, 'search'라는 변수에 저장했습니다.
이후에 입력받은 카테고리를 link text를 이용해서 문자열 타입 그대로 집어넣고, click() 메서드를 실행하는 코드입니다.
3. 사용자가 입력한 카테고리에서, 작일 인기검색어 순위 1위 품목을 가져오기
'출산/육아' 카테고리를 선택해 보았습니다.
이후 CSS SELETOR로 작일 랭킹 1위인 항목을 가져와서 Rank라는 변수로 저장합니다.
코드 화면에서 for문을 사용한 이유에 대해서 궁금해 하실 수 있는데, 오류를 방지하고자 작성했습니다.
CSS selector로 값을 가져올 경우, elements를 element로 변경하면서 첫번째값인 1위값만 가져올 수도 있지만, 1위부터 10위까지 같은 태그값을 가지고 있는 형태여서, 잘못가져오는 것을 방지하고자 1위부터 10위까지의 값을 모두 가져오고, 그 중에서 첫번째값인 1위 항목만 출력하도록 코드를 작성했습니다.
비효율적일 수 있고, 다른 방법에 대해서는 좀 더 고민이 필요해보입니다. 하지만 위 코드대로 이용할 수 있는 방법은, Rank를 리스트형태로 모두 저장해서 1위부터 10위를 모두 분석하는 코드로 개진할 수 있어보입니다.
'PROJECT > 오퍼상을 위한 네이버 데이터랩 크롤링' 카테고리의 다른 글
[#5] Epilogue (0) | 2022.07.04 |
---|---|
[#4] 데이터 시각화 (0) | 2022.07.04 |
[#3] 크롤링 - 네이버 쇼핑 항목으로 데이터프레임 만들기 (0) | 2022.07.04 |
[#1] 라이브러리 준비 (0) | 2022.06.29 |
[#0] Prologue (0) | 2022.06.29 |