전 세계 우편 번호 데이터 세트를 구축하려는 시도

5005 단어
우편 번호는 공개적으로 사용할 수 있는 간단한 단축 코드에 불과하기 때문에 항상 혼자서 전세계 우편 번호를 얻는 것이 쉬운 작업이라고 생각했습니다. 나는 이것이 사실이 아니라는 것을 빨리 깨달았습니다. 그 이유는 다음과 같습니다.
  • 진실의 단일 출처는 없습니다
  • 대부분의 출처가 불완전했습니다.
  • 데이터가 매우 구조화되지 않은 방식으로 매우 자주 표시됨

  • 몇 가지 일반적인 조사를 한 후, 나는 위의 문제의 원인이 우편 번호의 역사에서 기원했다는 것을 곧 이해했습니다. 국가마다 형식, 영역 세분성 및 way of structuring postal codes as a whole이 다릅니다.

    먼저 다음 코드로 Wikipedia를 긁어 보았습니다. 이 게시물에서는 Austria 의 예를 사용합니다.

    이를 위해 저는 작은 파이썬 스크립트를 작성했습니다.
    실행하기 전에 모든 종속성을 설치해야 합니다.
  • pip3 install lxml
  • pip3 install requests ,
  • pip3 install bs4

  • 
    import requests
    from bs4 import BeautifulSoup
    
    url = 'https://en.wikipedia.org/wiki/List_of_postal_codes_in_Austria'
    
    # fire GET request
    response = requests.get(url)
    
    # parse content
    content = BeautifulSoup(response.text, 'lxml')
    
    # get postal codes
    
    postcodes = [
        postcode.text for postcode in content.find_all('li')
        if ' - ' in postcode.text
    ]
    
    # filter edge cases
    
    postcodes = [
        postcode.split()[0] for postcode in postcodes 
        if len(postcode.split()) == 3 or
        len(postcode.split()) == 4
    ]
    
    # write output to file
    with open('at_postcodes.txt', 'a') as f:
        for postcode in postcodes:
            f.write(postcode + '\n')
    
    

    얻은 데이터 세트와 관련 접근 방식은 일부 사용 사례에 충분할 수 있지만 글로벌 우편 번호 데이터를 얻고 싶었기 때문에 만족하지 못했습니다.

    저는 오스트리아에 살고 있으며 방금 스크랩한 데이터가 완전하지 않다는 것을 매우 빨리 깨달았습니다(일부 우편 번호가 누락됨). 파서를 구축하는 데 걸린 시간과 모든 단일 데이터 소스에 대해 이를 적용해야 한다는 사실(모든 기사가 다르게 작성되기 때문에 Wikipedia 전반에 걸쳐 적응이 필요함)을 고려하여 포기하기로 결정했습니다.

    이것은 내가 포기하고 바로 사용할 수 있는 솔루션을 찾기 시작한 순간이었습니다.
  • Zipcodebase.com
  • greatdata.com

  • unitedstateszipcodes.org (미국만 해당)
  • getpostcodes.com

  • 이 기사가 동일한 목표를 달성하려는 경우에 대비하여 시간을 절약할 수 있기를 바랍니다.

    좋은 웹페이지 즐겨찾기