파이썬 urllib.request.urlopen 타임아웃 오류 왜 뜨는걸까요?
조회수 10304회
다음 뉴스를 한번 크롤링해보려고 시도했는데 타임아웃 오류가 뜨더군요 그래서 코드를 한줄 한줄 치면서 무엇이 오류인가 찾았더니 urllib.request.urlopen 에서 타임아웃 오류가 뜨는데 이게 왜 뜨는건지를 몰라서요 어떻게 해야 크롤링이 가능할까요 ㅠㅠ 코드는
import urllib.request
import urllib.parse
from bs4 import BeautifulSoup
url="http://search.daum.net/search?w=news&q=GIA%EB%8B%A4%EC%9D%B4%EC%95%84%EB%AA%AC%EB%93%9C&spacing=0&p=1&DA=PGD"
req=urllib.request.Request(url)
res=urllib.request.urlopen(req)
이렇고 오류는
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
res=urllib.request.urlopen(req)
File "C:\Python34\lib\urllib\request.py", line 161, in urlopen
return opener.open(url, data, timeout)
File "C:\Python34\lib\urllib\request.py", line 464, in open
response = self._open(req, data)
File "C:\Python34\lib\urllib\request.py", line 482, in _open
'_open', req)
File "C:\Python34\lib\urllib\request.py", line 442, in _call_chain
result = func(*args)
File "C:\Python34\lib\urllib\request.py", line 1211, in http_open
return self.do_open(http.client.HTTPConnection, req)
File "C:\Python34\lib\urllib\request.py", line 1186, in do_open
r = h.getresponse()
File "C:\Python34\lib\http\client.py", line 1227, in getresponse
response.begin()
File "C:\Python34\lib\http\client.py", line 386, in begin
version, status, reason = self._read_status()
File "C:\Python34\lib\http\client.py", line 348, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "C:\Python34\lib\socket.py", line 378, in readinto
return self._sock.recv_into(b)
TimeoutError: [WinError 10060] 연결된 구성원으로부터 응답이 없어 연결하지 못했거나, 호스트로부터 응답이 없어 연결이 끊어졌습니다
이렇게 뜨네요 ㅠㅠ 도와주세요 ㅠㅠ
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
저는
import urllib.parse url="http://search.daum.net/search?w=news&q=GIA%EB%8B%A4%EC%9D%B4%EC%95%84%EB%AA%AC%EB%93%9C&spacing=0&p=1&DA=PGD" req=urllib.request.Request(url) res=urllib.request.urlopen(req)
을 실행했을 때, 아무런 문제가 없었습니다.
Timeout 에러는
연결을 시도했으나, 정해진 시간 내에 연결이 되지 않았다
는 뜻인데요.코드를 돌릴 당시 인터넷 연결이 끊겼거나, 잠시 연결이 안정적이지 않아서 에러가 발생한 것 같네요.
코드를 다시 한 번 돌려보세요.
댓글 입력