我试图从一个HTML文件中提取一个类标记,但前提是它位于给定的停止点之前。我所拥有的是:
import requests
from bs4 import BeautifulSoup
page = requests.get("https://mysite")
soup = BeautifulSoup(page.content, 'html.parser')
class_extr = soup.find_all("span", class_="myclass")
这是可行的,但是它会找到myclass
的所有实例,并且我只希望那些在之前,下面的文本显示在soup
中:
使这个块唯一的是Title text N
行,尤其是Title text N2.
行。之前有很多cat-title
标记,所以我不能用它作为停止条件。在
此块周围的代码如下所示:
...
<div class="myc">
<a class="bbb" href="linkhere_893">
<span class="myclass">Text893</span>
<img data-lazy="https://link893.jpg"/>
</a>
</div>
<div class="myc">
<a class="bbb" href="linkhere_96">
<span class="myclass">Text96</span>
<img data-lazy="https://link96.jpg"/>
</a>
</div>
</div><!-- This closes a list that starts above -->
<h4 class="cat-title" id="55">Title text N1 <small> Title text N2.</small></h4>
<div class="list" id="55">
<div class="myc">
<a class="bbb" href="linkhere_34">
<span class="myclass">Text34</span>
<img data-lazy="https://link34.jpg"/>
</a>
</div>
<div class="myc">
...
继续上面和下面。在
我该怎么做?在
你可以试试这样的方法:
输出:
^{pr2}$尝试使用
find_all_previous()
:如果存在多个标记,则将在第一个
<h4 class='cat-title', id=55>
标记处停止。在参考号:Beautiful Soup Documentation
这个怎么样:
相关问题 更多 >
编程相关推荐