개발 일지/메이킹 챌린지

[스파르타]메이킹 챌린지 - 7/8일차(#셀레니움)

혬코 2021. 12. 29. 10:08

※ 실제 참여했을 때 다른 곳에 작성했던 원고를 다시 포스팅한 것으로 포스팅 일자와 실제 개발일지 작성 일자는 다릅니다.

코딩 개발일지 시작의 한마디

잘 쉬고 다시 힘을 낼 시간!!

개발 업무 내용

7일차(21.12.01)
[목표] 크롤링 끝내기
- 튜터링 기반으로 .gitignore 파일 생성 → 새로운 Repository 생성 & 권한 부여
- flask 서버 아이디:비밀번호 변경
- 동적 크로링 셀레니움을 이용해 오디오클립 제목 스크래핑 - 진행 중

1) 더보기를 계속 눌러 제목을 스크래핑하고 if 문으로 제외시킬 항목 제외 - 완료
2) 제목마다 새로운 페이지에 들어가서 완전한 제목 스크래핑 하는 것 - 미완료

8일차(21.12.02)
[오늘의 목표] 크롤링 마무리하고 데이터 mongoDB에 저장하기
- 크롤링 : 2)안은 로딩이 길어져서 해결하지 못한채 1)안의 방법으로 크롤링 끝냄(티스토리 크롤링은 7일차에 마무리)
- mongoDB에 데이터 저장하기 : 티스토리 크롤링 데이터만 mongoDB에 저장하기 완료

업무 중 이슈/ 고민 + 해결 내용

1) 셀레니움 길어지는 로딩 이슈 

 

오늘의 명언 (by 원스튜디오)

명언을 통해 배우는 삶의 지혜 공부 명언, 성공 명언 등.. #공부 명언, #성공 명언, #명언, #좋은글

audioclip.naver.com

크롤링 : 첫 목록 10개의 페이지에 들어가서 제목을 스크래핑하는 것은 성공했으나, 더보기를 끝까지 누른 뒤 스크래핑을 하면 time.sleep()을 길게 걸어도 전체적으로 과부하가 걸려 로딩이 길어지는 이슈 발생

10개 페이지 스크래핑 → 더보기 클릭 → 다음 10개 페이지 스크래핑 → 더보기 클릭 의 반복하는 방식도 있으나, 개발자의 코딩이라고는 할 수가 없을 것 같아서 다른 대안이 존재해 더 진행하지 않고 멈춤

2) pymongo 이중 import 문제
다른 팀원이 mongoDB에 연결해서 데이터를 저장시키려는 과정 중 pymongo가 이중으로 import 되면서 충돌하는 상황 발생 → 다른 해결 방법도 있었으나, 다시 서버를 열기로 결정

3) ubuntu에서 셀레니움 크롤링 데이터 저장 불가 이슈 - 웹드라이버 경로 설정 문제
bs4로 크롤링한 데이터는 잘 올라갔으나, 셀레니움 데이터는 아래와 같은 메시지가 뜨면서 실패

selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home

→ pip install 을 이용하여 ubuntu에 웹드라이버를 ​설치하고 app.py에서 경로를 수정해봤지만, 똑같은 이슈 반복
→ 튜터링 때 질문했으나 다시 웹드라이버를 설치해서 경로 설정을 잘 해보라는 답변 받음

할 일

- 셀레니움 웹드라이버 경로 설정 문제 해결하기