gpt4 book ai didi

python - 在 Beautifulsoup 中的某个点后删除 html

转载 作者:太空宇宙 更新时间:2023-11-04 13:06:51 24 4
gpt4 key购买 nike

我遇到了麻烦。我的目标是解析数据直到某个时刻。然后,我想停止解析。

        <span itemprop="address">
Some address
</span>
<i class="fa fa-signal">
</i>
...
</p>
</div>
</div>
<div class="search_pagination" id="pagination">
<ul class="pagination">
</ul>
</div>
</div>
</div>
</div>
<div class="col-sm-3">
<div class="panel" itemscope="" itemtype="http://schema.org/WPSideBar">
<h2 class="heading_a" itemprop="name">
Top-10 today
</h2> #a lot of tags after that moment

我想从 <span itemprop="address"> 中获取所有值(之前有很多)直到现在Top-10 today .

最佳答案

你实际上可以让 BeautifulSoup parse only the tags you are interested in via SoupStrainer :

from bs4 import BeautifulSoup, SoupStrainer

only_addresses = SoupStrainer("span", itemprop="address")
soup = BeautifulSoup(html_doc, "html.parser", parse_only=only_addresses)

如果您在“今日前 10 名”之前和之后有一些“地址”,但您对之前的地址感兴趣,则可以自定义 searching function :

def search_addresses(tag):
return tag.name == "span" and tag.get("itemprop") == "address" and \
tag.find_next("h2", text=lambda text: text and "Top-10 today" in text)

addresses = soup.find_all(search_addresses)

它看起来并不琐碎,但想法很简单——我们正在使用 find_next()对于每个“地址”,检查其后是否存在“Top-10 today”标题。

关于python - 在 Beautifulsoup 中的某个点后删除 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40043715/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com