[Python] Python 循环其中一行代码异常如何继续执行后续代码?而不是跳过当前循环

在 for 循环中一行代码抛出异常,接着执行下一行代码如何实现?而不是跳过本次循环

我写的一个爬虫,读取书籍的信息,有的书只有部分数据有,所以造成有的对象不存在而出错。
我也想过在赋值之前先判断,但是感觉有点麻烦,想找找别的写法。
下面的代码中,如果 pubulisher 读取出错,那么后面的 author 他也不会读了直接跳下一个循环了

for i in rows: try: book = {} tmp = i.find("h3", {"itemprop": "name"}) book['title'] = tmp.text.strip() book['cover'] = i.find("img")['data-src'] book['url'] = lib_url+tmp.a['href'] book['publisher'] = i.find("a", {"title": "Publisher"}).text.strip() book['author'] = i.find("a", {"itemprop": "author"}).text.strip() detail = i.find("div", {"class": "bookDetailsBox"}) book['year'] = detail.find("div", {"class": "property_year"}).find( "div", {"class": "property_value"}).text book['language'] = detail.find("div", {"class": "text-capitalize"}).text except AttributeError: pass print(book) 

发表回复

您的电子邮箱地址不会被公开。