【发布时间】:2016-11-22 23:00:06
【问题描述】:
我正在尝试在我的新工作中使用 Python 进行网络抓取,使用的方法与我在之前的 2 个工作中使用的方法相同,但它现在不起作用。这是代码-
import urllib
from urllib import urlopen
url = 'http://www.google.com'
html = urllib.urlopen(url).read()
错误是这样的-
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
html = urllib.urlopen(url).read()
File "C:\Users\NREARDO2\AppData\Local\Continuum\Anaconda2\lib\urllib.py", line 87, in urlopen
return opener.open(url)
File "C:\Users\NREARDO2\AppData\Local\Continuum\Anaconda2\lib\urllib.py", line 213, in open
return getattr(self, name)(url)
File "C:\Users\NREARDO2\AppData\Local\Continuum\Anaconda2\lib\urllib.py", line 350, in open_http
h.endheaders(data)
File "C:\Users\NREARDO2\AppData\Local\Continuum\Anaconda2\lib\httplib.py", line 1053, in endheaders
self._send_output(message_body)
File "C:\Users\NREARDO2\AppData\Local\Continuum\Anaconda2\lib\httplib.py", line 897, in _send_output
self.send(msg)
File "C:\Users\NREARDO2\AppData\Local\Continuum\Anaconda2\lib\httplib.py", line 859, in send
self.connect()
File "C:\Users\NREARDO2\AppData\Local\Continuum\Anaconda2\lib\httplib.py", line 836, in connect
self.timeout, self.source_address)
File "C:\Users\NREARDO2\AppData\Local\Continuum\Anaconda2\lib\socket.py", line 557, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
IOError: [Errno socket error] [Errno 11004] getaddrinfo failed
这是因为我在一家企业集团工作,并且有一个安全协议阻止我这样做,还是有其他方法可以绕过它?
【问题讨论】:
-
参考下面的线程 - 你需要传递代理属性stackoverflow.com/questions/7334199/…