删除 <a> 标签内的换行符
Removing newlines inside <a> tag
我对 python 和 BeautifulSoup 都很陌生。最近,我试图从本地文件中的某些 HTML 中提取每个 <a>
标记。我的部分代码如下所示:
with open(dir_path,encoding="utf-8_sig") as html_file:
soup =BeautifulSoup(html_file,'html.parser')
tag = soup.find('a')
print(tag)
输出看起来像这样
<a class="cmp-image__link" data-cmp-hook-image="link" href="/">
<img alt="logo" class="cmp-image__image" data-cmp-hook-image="image" itemprop="contentUrl" src="//imagesource"/>
</a>
我想要得到的是<a>
标签
块内没有换行符的字符串
<a class="cmp-image__link" data-cmp-hook-image="link" href="/"><img alt="logo" class="cmp-image__image" data-cmp-hook-image="image" itemprop="contentUrl" src="//imagesource"/></a>
我尝试使用 .strip()
和 .replace()
,但没有用。请帮忙!
更新答案
这对我来说确实很管用!!!
来自@BrokenBenchmark
tag = '''<a class="cmp-image__link" data-cmp-hook-image="link" href="/">
<img alt="logo" class="cmp-image__image" data-cmp-hook-image="image" itemprop="contentUrl" src="//imagesource"/>
</a>'''
result = tag.replace('\n', '')
print(result)
.strip()
在这里不起作用,因为它只会删除前导或尾随空格。
.replace()
可以在这里工作,但是 您需要分配它的 return 值 ,因为它不会修改字符串 in-place (因为 Python 字符串是不可变的)。
这个:
tag = '''<a class="cmp-image__link" data-cmp-hook-image="link" href="/">
<img alt="logo" class="cmp-image__image" data-cmp-hook-image="image" itemprop="contentUrl" src="//imagesource"/>
</a>'''
result = tag.replace('\n', '')
print(result)
生成所需的输出。
我对 python 和 BeautifulSoup 都很陌生。最近,我试图从本地文件中的某些 HTML 中提取每个 <a>
标记。我的部分代码如下所示:
with open(dir_path,encoding="utf-8_sig") as html_file:
soup =BeautifulSoup(html_file,'html.parser')
tag = soup.find('a')
print(tag)
输出看起来像这样
<a class="cmp-image__link" data-cmp-hook-image="link" href="/">
<img alt="logo" class="cmp-image__image" data-cmp-hook-image="image" itemprop="contentUrl" src="//imagesource"/>
</a>
我想要得到的是<a>
标签
<a class="cmp-image__link" data-cmp-hook-image="link" href="/"><img alt="logo" class="cmp-image__image" data-cmp-hook-image="image" itemprop="contentUrl" src="//imagesource"/></a>
我尝试使用 .strip()
和 .replace()
,但没有用。请帮忙!
更新答案
这对我来说确实很管用!!! 来自@BrokenBenchmark
tag = '''<a class="cmp-image__link" data-cmp-hook-image="link" href="/">
<img alt="logo" class="cmp-image__image" data-cmp-hook-image="image" itemprop="contentUrl" src="//imagesource"/>
</a>'''
result = tag.replace('\n', '')
print(result)
.strip()
在这里不起作用,因为它只会删除前导或尾随空格。
.replace()
可以在这里工作,但是 您需要分配它的 return 值 ,因为它不会修改字符串 in-place (因为 Python 字符串是不可变的)。
这个:
tag = '''<a class="cmp-image__link" data-cmp-hook-image="link" href="/">
<img alt="logo" class="cmp-image__image" data-cmp-hook-image="image" itemprop="contentUrl" src="//imagesource"/>
</a>'''
result = tag.replace('\n', '')
print(result)
生成所需的输出。