我正在努力从属性值分别为h5和ls3的HTML文件中提取所有标签,但是我不确定如何格式化搜索,因此它不会返回h5的所有实例和ls3的所有实例。
regex = re.compile('h5')
re2 = re.compile('ls3')
ly = []
for EachPart in soup.find_all("div", {"class": regex}):
ly.append(EachPart)
这目前仅在搜索h5(按预期方式),但是如何格式化find_all
搜索以与re2
一起搜索regex
?实际上,在下面,我需要提取包含h5和ls3的标签,而不是仅包含h5的标签
HTML标记示例:
<div class="t m0 x42 h5 y18b ff2 fs2 fc0 sc0 ls0 ws0">total </div>
<div class="t m0 xbd h5 y18b ff2 fs2 fc0 sc0 ls0 ws0"> </div>
<div class="t m0 x79 h5 y18b ff2 fs2 fc0 sc0 ls3 ws0">£m<span class="ls0"> </span></div>
<div class="t m0 x0 h5 y628 ff2 fs2 fc0 sc0 ls3 ws0">17.<span class="ls0"> <span class="_ _4"></span>Website policy<span class="_ _0"></span> </span></div>
答案 0 :(得分:0)
使用具有AND语法的css选择器。下面指定了具有两个属性的元素。比find
和正则表达式更有效。
items = [item.text for item in soup.select('.ls3.h5')]