我试图弄清楚如何在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/

10-12 12:53
查看更多