我有一组html文件。我需要从“ ul / li”部分中删除一个链接,但其他链接和“ ul / li”部分中的链接必须保留。
我为此使用BS。
<p>
<a href="link" class="story body__link">link</a>
</p>
<ul class="story-body__unordered-list">
<li class="story-body__list-item">
<a href="link" class="story-body__link">link</a>
</li>
</ul>
<ul class="story-body__unordered-list">
<li class="story-body__list-item">
text
</li>
</ul>
我正在为此任务使用python BS。我设法通过这段代码完成了这项任务,但它并不完美。我的问题是对此有更好更好的解决方案吗?
soup = BeautifulSoup(page, 'html.parser')
for i in soup.find_all('li', attrs={"story-body__list-item"}):
x = str(i.next_element)
if x.startswith( '<a' ) == True:
i.decompose()
像这样尝试一下,看看它是否可以在您的实际代码上运行:
for link in soup.select("li.story-body__list-item > a"):
link.parent.decompose()
或者:
for link.parent in soup.select("li.story-body__list-item > a"):
link.decompose()
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句