juso.go.kr 사이트에 Python selenium 으로 조회하여 반환받은 결과를 DB에 넣고자 하는데 지번주소 세부주소까지 나오는 데이터가 있다.

 

이를 파싱처리는 코드를 PHP로 구현하고 적어둔다.

주소를 살펴보다 확인 결과 세종로 같은 경우가 빠져있다.

 

<?php
 
ini_set("display_startup_errors"1);
ini_set("display_errors"1);
error_reporting(E_ALL);
 
 
$address = '경기도 평택시 안중읍 안중리 산 69-7번지';
$address = '인천광역시 강화군 화도면 사기리 502-1번지';
$address = '경기도 부천시 소사구 괴안동 105-3 역곡현대아파트2차';
$address = '경기도 부천시 오정구 여월동 329 부천소방서 여월119안전센터';
 
preg_match('/(.+?)동\s/'$address,$out);
if(!empty($out&& strlen($out[0])>0) {
    $jusoDong = preg_replace("/\s{2,}/"," ",$out[0]);
    $str = explode($out[0],$address);
    $vout = explode(" ",$str[1]);
    $jiAddress = $jusoDong.' '.$vout[0];
    $jiAddress = preg_replace("/\s{2,}/"," ",$jiAddress);
    echo $jiAddress.'<br/>';
else {
    preg_match('/(.+?)가\s/'$address,$out);
    if(!empty($out&& strlen($out[0])>0) {
        $jusoDong = preg_replace("/\s{2,}/"," ",$out[0]);
        echo $jusoDong.'<br/>';        
    } else {
        preg_match('/(.+?)[읍,면]\s/'$address,$out);
        if(!empty($out&& strlen($out[0])>0) {
            $str = explode($out[0],$address);
            preg_match('/(.+?)리\s/'$str[1],$vout);
            if(!empty($vout&& strlen($vout[0])>0) {
                $jusoDong = trim($out[0].' '.$vout[0]);
                $jusoDong = preg_replace("/\s{2,}/"," ",$jusoDong);
                echo $jusoDong.'<br/>';
            } else {
                echo $address.'<br/>';
            }
            
        }
    }
 
?>
 

 

 

 

 

728x90
블로그 이미지

Link2Me

,