3
我用下面的代碼,我想不通爲什麼它不加時的urlopen()未能例外..遇到問題提高異常的urllib2.urlopen()
在我的具體情況,我知道它爲什麼失敗..我的網址沒有http://在他們面前......但我想抓住這些情況,以便腳本可以繼續運行我的代碼而不是退出。
req = urllib2.Request(link)
try:
url = urllib2.urlopen(req)
except urllib2.URLError, e:
print e.code
print e.read()
return False
和我得到..
Traceback (most recent call last):
File "./getURLs.py", line 141, in <module>
main()
File "./getURLs.py", line 82, in main
Process(args).get_children()
File "./getURLs.py", line 65, in get_children
self.get_links(link)
File "./getURLs.py", line 46, in get_links
data = urllib2.urlopen(req)
File "/usr/local/lib/python2.7/urllib2.py", line 126, in urlopen
return _opener.open(url, data, timeout)
File "/usr/local/lib/python2.7/urllib2.py", line 383, in open
protocol = req.get_type()
File "/usr/local/lib/python2.7/urllib2.py", line 244, in get_type
raise ValueError, "unknown url type: %s" % self.__original
ValueError: unknown url type:/
。 。 。
解決方案
任何人在我的特定解決方案的興致..我用下面的捕捉兩個異常。
req = urllib2.Request(link)
try:
url = urllib2.urlopen(req)
except (ValueError,urllib2.URLError) as e:
print e
return False
謝謝!正是我需要的! –