【Node.js】Google Map 검색을 자동화해 보았다.

Google Map에있는 데이터를 검색 키워드로 검색하여 검색 결과를 나열하는 도구를 만들었습니다.

예를 들면
Google Map에서
시부야 마사지
도겐자카 마사지
에비스 마사지
요요기 마사지
같은 키워드로 상점을 검색하고 검색 결과를 나열하는 작업을 수행했다면
매우 딱 맞는 도구가 아닐까 생각합니다.

만들기 배경



이번 달부터 입사한 스타트업의 완성 사업으로 Web 광고에 관한 영업을 우선은 텔레아포로 실시하게 되었습니다만,
내가 팀에 들어갈 때까지 목록을 만들고 싶었기 때문에 자동화를 시도했습니다.

처음에는 Python이나 GAS 등으로 스크래핑이 좋을까라고 생각했습니다만,
Google Maps Platform을 사용하면 순식간에 할 수있었습니다. ✌

가정 사용자


  • GoogleMap 검색으로 취득한 결과로부터 영업처 리스트를 작성하고 있는 분.

  • 그렇지만, 그 밖에도 이런 요망이 있는 분에게도 사용해 주실 수 있는 툴입니다.
  • Google Map의 리뷰가 높은 가게에서 내일 저녁 식사를 결정하고 싶은 분
    부인이 내일 저녁 식사를 찾고 있었기 때문에, 「장소 먹고 싶은 것」으로 검색해 주면, 100건 가까이 정보를 취득할 수 있어 결국 선택하기 어려운 실적을 얻었습니다. 그렇지만, 뭐, 궁리 나름으로 개량은 가능하다고 느꼈습니다.

  • 사전 준비


  • Node.js가 설치되어 있어야 함
  • Google Cloud Platform(GCP) 계정 보유
  • GCP 계정은 신용 카드 정보를 등록하고 청구 가능합니다.
    ※돈이 드는 것은 아닙니다. 걸리지 않도록 예산을 설정하면 괜찮습니다

  • Places API 사용 가능
  • GCP에서 API 키를 발급했음

  • 소스 코드



    여기에 있습니다 → Github map-api-create-sales-list-in-nodejs

    설치



    위 리포지토리의 readme.md에도 쓰고 있지만 다음 명령을 실행합니다.
    git clone https://github.com/paths-are/map-api-create-sales-list-in-nodejs.git
    cd map-api-create-sales-list-in-nodejs
    npm install
    cp .env.sample .env
    cp search-areas_sample.txt search-areas.txt
    cp search-keywords_sample.txt search-keywords.txt
    cp search-filters_sample.txt search-filters.txt
    mkdir search_result
    
    
    .env 의 API_KEY 에는, GCP로 취득한 자신의 API 키를 설정해 주세요.

    샘플 코드 실행



    API_KEY를 설정하면 움직이는 상태가 되어 있으므로 실행해 보겠습니다.
    node .
    

    성공하면 검색 결과가 ./search_result/yyyymmdd_hhmmss 폴더 아래에 출력됩니다.
    출력 된 search-result.tsv를 GoogleSpreadSheet에 붙여 넣으십시오.
    이런 식으로 출력 될 것입니다.



    맞춤형



    위의 샘플 검색에서
    "아사쿠사 햄버거"에서 검색된 가게 목록에서 주소에 "아사쿠사"가 들어있는 가게만을 표시하고 있습니다.
    왜 주소에서 필터를 할까라고 하면, 그렇게 하지 않으면, 아사쿠사 이외의 정보도 잡혀 버리기 때문입니다.
    (아사쿠사에서 검색하고 있는데, 먼 곳의 정보가 나와도 까다롭기 때문에 이 처리를 넣었습니다.)

    예를 들면 「아사쿠사 햄버그」 「아사쿠사 카레」 「아사쿠사 야키니쿠」로 검색을 하고 싶은 경우는 아래와 같이 search-*.txt 를 준비합니다.

    search-areas.txt
    浅草
    

    search-keywords.txt
    ハンバーグ
    カレー
    焼肉
    

    그리고 node .를 실행하면, 아사쿠사의 햄버거, 카레, 야키니쿠점의 일람을 취해 이것이 되는 것입니다.

    이상! 또 계속을 쓸지도입니다!

    좋은 웹페이지 즐겨찾기