在Python中编写一些用于Web爬网的代码时,我的要求类似于:
vals = [x.get_text().strip() for x in tds[0].find_all('tr') if len(x.get_text().strip()) > 0]
get_text()和strip()方法是否被评估了两次?有没有更好的方法来写这个?
由于
答案 0 :(得分:2)
您可以使用filter
删除空字符串。
vals = list(filter(None, [x.get_text().strip() for x in tds[0].find_all('tr')]))