클론 대상 사이트 : 마켓컬리
➤ 사이트 바로가기
기술 스택 및 개발 환경
우재현
* [기능] Selenium으로 마켓컬리 홈페이지의 상품들을 크롤링 하여 DB에 넣어주기, 메인페이지에서 DB의 내용 카테고리에 맞게 넘겨주기
김민정
* [기능] 회원관리 (이메일 중복검사, 회원가입, 로그인), 장바구니 (수량 증가, 수량 감소)
이노규
* [기능] 장바구니 조회, 장바구니 추가, 장바구니 수정, 장바구니 삭제
장바구니 스키마 검색 문제
* 해당 유저의 postId만 찾아야하는데 모든 postId를 찾고 있었음. -> 해당 유저의 postId를 찾도록 변경 -> Cart.findOne({ userEmail:loginUserEmail, postId });
EC2 서버 권한 설정 문제
* 권한 설정 config에서 주석처리가 되어있었음 -> 주석을 지워서 해결.
* 몽고디비 주소 설정 문제 -> 프로젝트 파일에서 몽고디비 주소에 id, password를 추가해서 해결. ->'mongodb://abc:abc@localhost:27017/dbname'
Cheerio와 Axios로 마켓컬리 페이지 크롤링을 실패해서, Selenium과 Chromedriver를 이용한 동적 크롤링으로 문제 해결
* Cheerio와 Axios를 이용한 마켓컬리 크롤링을 먼저 시도 하였는데, 계속해서 null값 혹은 빈 배열을 가져왔다.
-> 그래서 다른 크롤링 방식인 Selenium을 사용했고, 성공적으로 값을 받아오게 되었다. 또한, 동적 크롤링이 가능해 여러페이지의 정보를 자동으로 가져 올 수 있게 되었다.
서버 디비에 크롤링한 데이터를 추가하는 문제
* 터미널에서 시도해보려고 했으나 오류 -> 프로젝트 파일에서 시도 -> 몽고디비 주소를 변경해서 해결 -> 'mongodb://abc:abc@1.12.34.5678/dbname'
