2014-02-23 5 views
0

파이썬을 사용하여 문자열 (예 : 전자 메일)에서 주소를 추출하는 방법이 있습니까? 주소가 설정된 형식으로 제공되지 않습니다. 주, 우편 번호, 도시없이 올 수 있지만 누락 된 경우 이러한 매개 변수를 추측하여 제공 할 수 있습니다. 또한 주소는 두 개의 거리 구석으로 표시 될 수 있습니다. 주소를 추출한 후 Google Map 또는 기타 유사한 서비스로 보내 실제의 형식화 된 주소로 되돌리고 싶습니다.문자열에서 거리 주소 추출

100 % 정확할 필요는 없지만이를 수행 할 라이브러리가 있습니까? 존재하지 않으면 어떻게 시작해야합니까?

+1

당신은 몇 가지 예를 들어 문자열을 추가 할 수 무엇을 출력하면 싶어? – stark

답변

2

자신이 이미 말했듯이 주소는 다양한 형식으로 제공 될 수 있습니다. 다른 나라의 주소를 고려해 보면 실상은 실제로 더욱 심각합니다. 따라서 실제로는 그러한 주소를 구문 분석하고 정리하는 좋은 방법은 없습니다. 지역 범위가 클수록 가능한 형식으로 포함 시키려 할 때 복잡해집니다.

어쨌든 주소를 Google지도에 보내려면 원래 형식으로 보내주십시오. Google은 더 유용한 부품을 추출하고 최대한 활용할 수있는 충분한 데이터를 보유하고 있습니다. 어쨌든 Google로 보내려고하면 처음부터 할 수 있습니다.

+1

하지만 Google에 보내기 전에 후보를 추출하지 않습니까? 문자열은 꽤 길 수 있습니다. – ysakamoto

0
a = re.split(r"[\s\-:\\/_,]", "string address here !") 
a1 = "" 
for i in a: 
    if re.findall(r"[^\W]",i): 
     a1 += i + " " 
print(a1) 

Google로 보내보세요.

0

주소는 종종 정규식을 사용하여 악용 될 수있는 형식을 따릅니다. 이것은 까다 롭습니다. 운 좋게 당신을 위해 더 쉽게 사용할 수있는 훌륭한 라이브러리가 있습니다.

pip install commonregex 

다음

from commonregex import CommonRegex 
parsed_text = CommonRegex("my email goes here") 
print(parsed_text.street_addresses)