경우 본인은 그 내용을 검색하려면 다음을 사용하고 URL의건너 뛰기 URL은
의 목록을 가지고있다. socket.timeout: timed out
이 있으면 다음 URL을 읽고 싶습니다. 이 작업을 수행하는 방법? urllib2.urlopen
docs에 의해 설명 된 바와 같이
감사
경우 본인은 그 내용을 검색하려면 다음을 사용하고 URL의건너 뛰기 URL은
의 목록을 가지고있다. socket.timeout: timed out
이 있으면 다음 URL을 읽고 싶습니다. 이 작업을 수행하는 방법? urllib2.urlopen
docs에 의해 설명 된 바와 같이
감사
내가 가서 생각하는거야 그로는 "충돌"당신 말은, "는 URLError을 제기". Python 자습서의 Errors and Exceptions 섹션을 참조하십시오.
for url in url_list:
req = urllib2.Request(url)
try:
resp = urllib2.urlopen(req, timeout=5)
except urllib2.URLError:
print "Bad URL or timeout"
continue # skips to the next iteration of the loop
resp_page = resp.read()
print resp_page
시간 초과 예외를 잡을 필요가있는 것처럼 들립니다. 당신이하는 socket.timeout 메시지가 없습니다.
req = urllib2.Request("http://127.0.0.2")
try:
resp = urllib2.urlopen(req, timeout=5)
except urllib2.URLError:
print "Timeout!"
확실히 시간 초과가되는 URL이 있어야합니다 (127.0.0.2는 사용자의 컴퓨터에 없을 수도 있음).
이미 답변이 있지만 URLlib2
은이 문제의 원인이 아닐 수도 있습니다.
마찬가지로 지적한대로 here (또한 문제 설명에 기반한 것처럼 보임) 예외는 socket
라이브러리에 속할 수 있습니다. 이 경우
또 다른 except
추가 유사한 문제에 대한
import socket
try:
resp = urllib2.urlopen(req, timeout=5)
except urllib2.URLError:
print "Bad URL or timeout"
except socket.timeout:
print "socket timeout"
Downvoting을 아무런 설명도하지 않습니다와 함께 정말 유용 하죠? – Jir
은 다음을 참조하십시오 http://stackoverflow.com/questions/2712524/handling-urllib2s-timeout-python – Raz