开始web抓取,我一直在努力从这篇yelp评论中获得评分。
我的代码:
rating = review.find('img', attrs={'class': 'offscreen__373c0__1KofL'}).get('alt')
rating = float(re.findall('d+', rating)[0])
print(rating)
结果:
Traceback (most recent call last):
File "/Users/joseochoa/PycharmProjects/webbscraper/Tutorial_scraper.py", line 40, in <module>
rating = float(re.findall('d+', rating)[0])
IndexError: list index out of range
如有任何帮助或建议,我们将不胜感激。非常感谢。
似乎re.findall('d+', rating)
返回空列表
因此,当您尝试获取列表的第一个元素时,会出现此错误。
你可以这样修改你的代码:
rating = review.find('img', attrs={'class': 'offscreen__373c0__1KofL'}).get('alt')
rating_list = re.findall('d+', rating)
if len(rating_list) > 0:
rating_float = float(rating_list[0])
print(rating_float)
else:
print("No matches have been found")
# manage with specific actions if you want