'파이썬#도로명주소#REST API#' 태그의 글 목록 :: 테크니션
반응형

저번에 크롤링으로 찾아서 했지만

API를 사용하면 더 빠르게 처리할 수있다

GPT 만세

1. https://www.juso.go.kr/addrlink/main.do 여기서 api 신청을 받아야됨

 

2. 7천건을 돌리려 햇더니 400정도에서 그만 하라고 서버측 부하 과다를 막기 위해 막음

 

3. 많이 돌리려면 크롤링이 나은거같음

import requests
import json

def search_address(api_key, keyword):
    url = "https://business.juso.go.kr/addrlink/addrLinkApiJsonp.do"
    params = {
        "currentPage": "1",
        "countPerPage": "1",
        "keyword": keyword,
        "confmKey": api_key,
        "resultType": "json",
        "hstryYn" :"N",
        "firstSort": "none",
        "addInfoYn": "Y"
    }

    # JSONP 요청을 보내기 위해 callback 파라미터를 지정합니다.
    params["callback"] = "callback"

    response = requests.get(url, params=params)

    # 응답을 JSONP 형식으로 받기 위해 callback 부분을 잘라냅니다.
    jsonp_data = response.text[response.text.find("(") + 1:response.text.rfind(")")]

    # JSON 형식으로 파싱합니다.
    result = json.loads(jsonp_data)

    if result.get("results"):
        address_info = result["results"]["juso"][0]
        return address_info
    else:
        return None


def main():
    api_key = ""
    keyword = "서귀포시 태평로 351"

    address_info = search_address(api_key, keyword)

    if address_info:
        print("주소:", address_info["roadAddr"])
        print("우편번호:", address_info["zipNo"])
        print("동사무소:", address_info["hemdNm"])
    else:
        print("주소 검색에 실패했습니다.")


if __name__ == "__main__":
    main()

반응형

+ Recent posts