我想提取包含在两个标签之间的给定标签的所有实例。目前我正在与 BeautifulSoup 合作。您可以在下面找到一个示例:
<p class='x' id = '1'> some content 1 <p>
<p class='y' id = 'a'> some content a <p>
<p class='y' id = 'b'> some content b <p>
<p class='y' id = 'c'> some content c <p>
<p class='potentially some other class'> <p>
<p class='x' id = '2'> some content 2 <p>
<p class='y' id = 'd'> some content d <p>
<p class='y' id = 'e'> some content e <p>
<p class='y' id = 'f'> some content f <p>
我有兴趣在两个标签“x”之间选择“y”类的所有实例,它们也具有不同的 id。关于具体示例,我想选择所有带有 class = 'y' 的 p,然后检索文本。我最终想要的输出是:“某些内容 a”、“某些内容 b”和“某些内容 c”。
我尝试使用 findAllNext 方法,但这给了我“一些内容 a”、“一些内容 b”、“一些内容 c”和“一些内容 d”、“一些内容 e”、“一些内容 f”。
下面是我的代码
par = BeautifulSoup(HTML_CODE).content, 'lxml')
loc = par.find('p', class_ = 'x', id ='1')
desired = loc.findAllNext('p', class_ = 'y')
有什么方法可以避免选择出现在 class='x' 和 id = '2' 标签之后的 class = 'y' 实例吗?
繁花如伊
相关分类