인프런 커뮤니티 질문&답변

CJY00N님의 프로필 이미지
CJY00N

작성한 질문수

Next.js 시작하기(feat. 지도 서비스 개발)

매장 데이터 불러오기(feat. SWR)

매장 데이터 json 파일

해결된 질문

작성

·

519

·

수정됨

3

안녕하세요, 강사님 강의 잘 수강하고 있습니다!

3-2 매장 데이터 불러오기 강의에서

매장 정보가 담긴 json 파일은

어디서 구해오는 파일인지 궁금합니다.

올려주신 json파일로 강의 수강 진행하고 있지만, 원하는 다른 매장 데이터로 이용하고 싶을 경우 어디에서 이 json 파일을 얻어와야 하는 것인가요?

 

감사합니다!

답변 2

1

CJY00N님의 프로필 이미지
CJY00N
질문자

답변 감사드립니다 ~~!

1

박용주님의 프로필 이미지
박용주
지식공유자

안녕하세요! 질문 감사드립니다 :)

결론부터 말하면, 1. 매장의 nid(naver id)를 얻는 수작업 + 2. 특정 nid에 대한 json을 만드는 크롤링 작업을 수행했습니다.

강의에서 제공된 json 파일의 정보들은 다음과 같은 과정으로 채워넣었습니다.

  1. 원하는 매장 목록을 리스트업한다.(ex> 식스센스에 나온 매장 목록 리스트업)

  2. 네이버 지도에 하나씩 검색하며 nid를 얻는다.(ex> 네이버 지도 검색창에 '에빗'을 검색하면 url이 'https://map.naver.com/v5/search/%EC%97%90%EB%B9%97/place/1838135293'로 변경됩니다.)

  3. 2번에서 얻은 nid에 대해 크롤링을 수행한다.

    1. 'https://pcmap.place.naver.com/restaurant/1838135293/home' 에서 매장에 대한 기본정보를 크롤링합니다.

      1. Python에서 selenium과 beautifulsoup4을 이용하여 크롤링했습니다.
        html = driver.page_source
        soup = bs(html, "html.parser")

        1. 매장 이름처럼 눈에 보이는 정보들은
          name = soup.select_one('...selector...').get_text()
          와 같이 코드를 작성하고,

        2. description, 위경도처럼 page_source에서 parsing할 수 있는 정보들은
          description = 파싱함수(html, '"description":"', '","')
          와 같이 코드를 작성했습니다.

    2. 'https://pcmap.place.naver.com/restaurant/1838135293/menu/list' 에서 매장의 메뉴판을 크롤링합니다.

    3. 크롤링된 정보들을 모아 json 파일을 작성합니다.

크롤링에 대한 설명은 강의 주제와 맞지 않아 커리큘럼에서 제외했었다는 점 양해부탁드립니다🥲
꼭 위의 과정을 거치지 않아도 다른 사이트나 다른 방법으로 매장에 대한 위경도 좌표와 여러 정보를 얻을 수만 있다면, Store의 type과 매장 상세 페이지 UI를 취향에 맞게 변경하는 것도 재미있는 개선 방향일 것 같습니다.

혹시 답변이 부족했다면 다시 댓글 남겨주시길 부탁드립니다🙏 감사합니다!

CJY00N님의 프로필 이미지
CJY00N

작성한 질문수

질문하기