2014-02-16 2 views
1

json의 웹 페이지에서 라이브 피드를 추출 중입니다. 페이지가 1 분마다 업데이트되므로 매분 데이터를 추출 할 수 있습니다. 하지만 웹 페이지의 서버가 안정적이지 않고 코드가 실행을 멈추는 경우가 있습니다. 나는 그것을 얻을 때까지 내 코드가 끊임없이 데이터를 요구하는 방식으로 작성하고 싶다. 누군가가 전에 이런 식으로 뭔가를 썼다 :python urllib2.URLError 처리

try: 
    f=urllib2.open(blablabla...) 

except urllib2.HTTPError, detail: 
    if detail.error == 500: 
     time.sleep(1) 
     continue 
    else: 
     raise 

하지만 내 코드는 여전히이 오류와 함께 실행이 중지 : urllib2.URLError을 : urlopen 오류 [errno를 8] 노드 이름도 servname

답변

1

urllib2.HTTPError가 알려진 제공 여부 하위 유형은 urllib2.URLError입니다. 따라서 openURLError을 발생시킬 때 실제로는 HTTPError을 찾을 때 그 사실을 인식하지 못합니다. URLError도 잡으려면 다른 except 절을 추가하여 처리하십시오.