我试图弄清楚如何在Python中处理Unicode错误并跳过它们。
我想除了UnicodeError之外,我必须使用结构体try,但是我不知道要在UnicodeError条件中放置什么内容以跳过该URL并继续抓取。这是我的代码:
File "imagescraper.py", line 24, in <module>
urllib.urlretrieve(image, "image0"+str(page)+str(i)+".jpg")
File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 94, in urlretrieve
return _urlopener.retrieve(url, filename, reporthook, data)
File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 228, in retrieve
url = unwrap(toBytes(url))
File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 1055, in toBytes
" contains non-ASCII characters")
UnicodeError: URL u'http://blogging.com/wp-content/uploads/2013/11/design-p\xe1gina-de-fans.png' contains non-ASCII characters
有任何想法吗?
最佳答案
这样的事情似乎是您想要的:
except UnicodeError:
pass
pass
基本上只是一个占位符,它什么也不做。异常由except
块处理,然后pass
将允许您继续下一个URL。请注意,如果要在循环中执行此操作,请改用
continue
关键字-这将继续进行循环的下一个循环。关于python - 如何跳过URL中的Unicode错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23019490/