在抓取数据时检查元素是否存在

时间:2013-02-27 08:40:10

标签: python web-scraping scrape

我正试图从一些餐馆的开放表中提取评论,但我收到了一个TypeError,因为其中一些餐馆没有评论。

我目前的代码是:

ratings = restDOM.by_id("RestPopLabel_ReviewsFormat")[0].attributes
ratings = ratings['title']

我正在尝试做类似的事情:

if restDOM.by_id("RestPopLabel_ReviewsFormat")[0] is present
    ratings = restDOM.by_id("RestPopLabel_ReviewsFormat")[0].attributes
    ratings = ratings['title']
else 
    ratings = 'not available'

实现if语句的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

Ben的答案在这里是正确的,但我认为我会扩展实际代码:

try:
  ratings = restDOM.by_id("RestPopLabel_ReviewsFormat")[0].attributes
  ratings = ratings['title']
except KeyError:
  ratings = 'not available'