You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python移除网页爬取内容中的换行符?

解决网页爬取中多余换行的问题

嘿,我看到你在爬取网页标签文本时遇到了多余换行的困扰,咱们来快速搞定它!

问题根源

你代码里的replace('/n',' ')犯了一个小错误:换行符的正确写法是**\n(反斜杠n)**,而不是/n(正斜杠n)。这就导致你的替换根本没生效,多余的换行自然还留在文本里。

两种有效解决方案

除了修正换行符的写法,我们还可以处理其他可能的空白字符(比如制表符、连续空格),让文本更规整:

方案1:用split() + join()合并空白

这种方法不需要额外导入库,简单直接:

finaltags = ' '.join(tags[0].text.replace('\r', ' ').split())
  • replace('\r', ' '):先把回车符也换成空格(避免不同系统的换行差异)
  • split():自动分割所有空白字符(换行、空格、制表符都算),忽略连续空白
  • ' '.join():把分割后的内容用单个空格连接,得到干净的单行文本

方案2:用正则表达式统一替换

如果需要更灵活的空白处理,正则是个好选择:

import re
finaltags = re.sub(r'\s+', ' ', tags[0].text).strip()
  • re.sub(r'\s+', ' ', ...):把任意数量的空白字符(\s包括换行、空格、制表符等)替换成单个空格
  • .strip():去掉文本首尾的多余空格

修正后的完整代码

from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup

myurl = 'http://agb.xyz'
uclient = uReq(myurl)
page_html = uclient.read()
uclient.close()
pag_soup = BeautifulSoup(page_html, "html.parser")
tags = pag_soup.find_all("div", {"class":"entry-footer"})

# 选一种方案即可
# 方案1
finaltags = ' '.join(tags[0].text.replace('\r', ' ').split())
# 方案2(记得先导入re)
# import re
# finaltags = re.sub(r'\s+', ' ', tags[0].text).strip()

print(finaltags)

最终效果

运行后你会得到规整的单行文本:

Mots-clefs : A Gray State 4, A Gray State 3, A Gray State 2,

内容的提问来源于stack exchange,提问作者Mouhcin Iuoanid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:26:30