gpt4 book ai didi

Python过滤器列表从html源代码中删除某些链接

转载 作者:行者123 更新时间:2023-11-30 23:55:52 25 4
gpt4 key购买 nike

我有 html 源代码,我想过滤掉一个或多个链接并保留其他链接。

我已使用“*”作为通配符设置过滤器:

<a*>Link1</a>‚ <a*>Link2</a>‚ or <a*>Link3</a>
<a*>A bad link*</a>
some text* <a*>update*</a>
other text right before link <a*>click here</a>

我想使用 python 从 html 源代码中过滤掉链接的每个实例。我可以将列表加载到数组中。我需要一些关于过滤器的帮助。每个换行符都表示一个单独的过滤器,我只想删除链接而不是文本

我对 python 和 regex/beautifulsoup 还很陌生。即使您能为我指出正确的方向,我也会非常感激。

最佳答案

删除<a>标签并仅保留这些标签中未包含的文本:

>>> from BeautifulSoup import BeautifulSoup as bs
>>> markup = """<a*>Link1</a> <a*>Link2</a> or <a*>Link3</a>
... <a*>A bad link*</a>
... some text* <a*>update*</a>
... other text right before link <a*>click here</a>"""
>>> soup = bs(markup)
>>> TAGS_TO_EXTRACT = ('a',)
>>> for tag in soup.findAll():
... if tag.name in TAGS_TO_EXTRACT:
... tag.extract()
...
>>> soup
or

some text*
other text right before link

我不清楚您是否想要标签内的文本。如果您希望标签中包含文本,请执行以下操作:

>>> for tag in soup.findAll():
... if tag.name in TAGS_TO_EXTRACT:
... tag.replaceWith(tag.text)
...
>>> soup
Link1 Link2 or Link3
A bad link*
some text* update*
other text right before link click here

关于Python过滤器列表从html源代码中删除某些链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4495090/

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