여러 가지 방법을 시도한 후 요약하면 다음과 같습니다. 다음은 구문 분석 된 HTML 문자열에서 \ xa0 문자를 피하거나 제거하는 두 가지 방법입니다.
다음과 같이 원시 HTML이 있다고 가정하십시오.
raw_html = '<p>Dear Parent, </p><p><span style="font-size: 1rem;">This is a test message, </span><span style="font-size: 1rem;">kindly ignore it. </span></p><p><span style="font-size: 1rem;">Thanks</span></p>'
따라서이 HTML 문자열을 정리해보십시오.
from bs4 import BeautifulSoup
raw_html = '<p>Dear Parent, </p><p><span style="font-size: 1rem;">This is a test message, </span><span style="font-size: 1rem;">kindly ignore it. </span></p><p><span style="font-size: 1rem;">Thanks</span></p>'
text_string = BeautifulSoup(raw_html, "lxml").text
print text_string
#u'Dear Parent,\xa0This is a test message,\xa0kindly ignore it.\xa0Thanks'
위의 코드는 문자열에서 \ xa0 문자를 생성 합니다. 올바르게 제거하기 위해 두 가지 방법을 사용할 수 있습니다.
메소드 # 1 (권장) :
첫 번째 메소드는 스트립 인수가 True 인 BeautifulSoup의 get_text 메소드
이므로 코드는 다음과 같습니다.
clean_text = BeautifulSoup(raw_html, "lxml").get_text(strip=True)
print clean_text
# Dear Parent,This is a test message,kindly ignore it.Thanks
방법 # 2 :
다른 옵션은 파이썬 라이브러리 unicodedata를 사용하는 것입니다
import unicodedata
text_string = BeautifulSoup(raw_html, "lxml").text
clean_text = unicodedata.normalize("NFKD",text_string)
print clean_text
# u'Dear Parent,This is a test message,kindly ignore it.Thanks'
나는 당신이 참조하고 싶을지도 모르는 이 블로그에서 이러한 방법 을 자세히 설명했습니다 .