[스파르타]메이킹 챌린지 - 9일차(#chromedriver 경로설정)
※ 실제 참여했을 때 다른 곳에 작성했던 원고를 다시 포스팅한 것으로 포스팅 일자와 실제 개발일지 작성 일자는 다릅니다.
코딩 개발일지 시작의 한마디
코딩의 맛이란 이런 것인가??!!
개발 업무 내용
9일차(21.12.03)
[목표]
1. 오디오클립 크롤링 데이터 mongoDB에 저장하기 - ubuntu에서 chromedriver 경로 문제 해결 후 DB에 저장 완료
아래 링크 참고
[Ubuntu] Ubuntu 서버에 Selenium 설치하고 사용하기
Mac에서 Selenium을 활용하여 열심히 크롤링 코드를 작성하여 제대로 동작하는지 확인한 후 호기롭게 Ubuntu 서버에 그대로 파일을 옮긴 뒤 selenium 라이브러리를 설치하고 Linux용 chromedriver를 다운받
somjang.tistory.com
- 튜터링 기반으로 .gitignore 파일 생성 → 새로운 Repository 생성 & 권한 부여
- flask 서버 아이디:비밀번호 변경
- 동적 크로링 셀레니움을 이용해 오디오클립 제목 스크래핑 - 진행 중
1) 더보기를 계속 눌러 제목을 스크래핑하고 if 문으로 제외시킬 항목 제외 - 완료
2) 제목마다 새로운 페이지에 들어가서 완전한 제목 스크래핑 하는 것 - 미완료
2. 크롤링 코드 파일 분리하기 - init_db1/init_db2 파이썬 파일 2개롤 분리 한 후 filezilla에 업로드 완료
3. DB에 저장된 데이터 중 주제에 맞지 않는 데이터 삭제하기 - 백엔드 팀원이 완료
4. DB에 저장된 데이터 "결과보기" 버튼 누를 때 랜덤으로 하나 뜨게하기
- GET 요청 API 코드에서 list(db.db이름.find({조건}, {'_id':False}))로 모든 데이터 불러오기
- random.sample(변수명, 갯수)로 랜덤 데이터 1개 뽑아내기
- GET 요청 ajsx 코드에서 데이터 가져가기
→ 랜덤하게 잘 들어가나, 모달창 닫고 "결과보기"버튼 다시 누르면 데이터가 누적되서 쌓이는 오류 발견
5. 결과보기 버튼 누를 때마다 모달창 새로고침하기 - window.location.reload()로 완료


업무 중 이슈/고민 + 해결 내용
1. 서버로 페이지 켤 때 배경에 깔리는 이미지 파일과 CSS가 적용안되는 이슈
→ static 폴더 - image 폴더 안에 이미지 파일 넣기
→ /static/style.css와 /static/image/파일이름.png 로 경로 설정하기
2. 모달창 새로고침하기
"결과보기" 버튼을 눌러 모달창을 켠 뒤 다시 끄로 다시 켜면 사진도 동일하고, 솔루션 데이터도 아래 리스트로 쌓이는 문제 발생
→ 처음에 데이터 나타내는 함수를 "결과보기" 버튼에 onclicck="함수()"를 통해 나타냈는데, 검색해보니 모달창 자체를 새로고침하는 방법은 없거나 혹은 복잡한 것으로 확인
→ 데이터 나타내는 함수를 메인 페이지 로딩되자마자 실행하도록 하고, 모달창 끄는 함수에 모달창을 끄면 메인 페이지가 리로딩되는 함수를 추가하는 방법으로 대안을 찾음
할 일
- 주말동안 바뀔 모달창에 잘 적용되는지 확인하기
- 모달창에 입력한 이름, 질문 내용 데이터 받아서 나타내는 기능 확인하기