我有一系列由find_all()
返回的列表项<li class="rsltItem" mh-property-list-item="".......
该项目有很多嵌套元素。
每隔一段时间,其中一个略有不同:
<li class="rsltItem adv" in-view="vm.lazyLoadAd('adMiddle',$inview)" ng-if="$index == 5"><!----></li>
这个嵌套元素较少,不同。我想消除第二种类型。
我已经尝试在li的特定类上搜索,但即使它们不同,它也会返回它们:
soup.find_all("li", {"class" : "rsltItem"})
我是如何从结果中排除第二个列表项的?
答案 0 :(得分:2)
仅查找与特定类<li>
匹配的标记rsltItem
,
soup.find_all(lambda tag: tag.name == 'li' and tag.get('class') == ['rsltItem'])
答案 1 :(得分:0)
result_list = [tag for tag in soup.find_all('li', {'class': 'rsltItem'})
if tag['class'] == ['rsltItem']]
或
result_list = [tag for tag in soup.find_all('li', {'class': 'rsltItem'})
if len(tag['class']) == 1]