일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 데이터구조
- 자바스크립트
- 파이썬
- 코딩
- 사이버보안
- 알고리즘
- 2
- 컴퓨터비전
- Yes
- 보안
- 컴퓨터공학
- 머신러닝
- 네트워크
- 컴퓨터과학
- 데이터과학
- 자료구조
- 소프트웨어
- 프로그래밍
- I'm Sorry
- 웹개발
- 버전관리
- 클라우드컴퓨팅
- 딥러닝
- 네트워크보안
- 소프트웨어공학
- 프로그래밍언어
- 인공지능
- 데이터베이스
- 데이터분석
- 빅데이터
- Today
- Total
스택큐힙리스트
파이썬 문자열에서 HTML 엔티티를 디코딩하십니까? 본문
저는 Beautiful Soup 3로 HTML을 파싱하고 있습니다. 하지만 그 안에는 Beautiful Soup 3가 자동으로 디코딩하지 않는 HTML 엔티티가 포함되어 있습니다.
>>> from BeautifulSoup import BeautifulSoup
>>> soup = BeautifulSoup(
£682m
)>>> text = soup.find(p).string
>>> print text
£682m
text을(를) £682m 대신에 어떻게 HTML 엔티티를 디코딩할 수 있나요?
답변 1
파이썬 3.4+
html.unescape()을 사용하세요.
import html
print(html.unescape('£682m'))
참고 : html.parser.HTMLParser.unescape은 더 이상 권장되지 않으며, 실수로 남겨진 was supposed to be removed in 3.5은 곧 언어에서 제거될 예정입니다.
파이썬 2.6-3.3
표준 라이브러리에서 HTMLParser.unescape() 을 사용할 수 있습니다.
파이썬 2.6-2.7의 경우 HTMLParser에 있습니다.
파이썬 3에서는 html.parser에 있습니다.
>>> try:
... # Python 2.6-2.7
... from HTMLParser import HTMLParser
... except ImportError:
... # Python 3
... from html.parser import HTMLParser
...
>>> h = HTMLParser()
>>> print(h.unescape('£682m'))
£682m
당신은 또한 six 호환 라이브러리를 사용하여 가져오기를 간편하게 할 수 있습니다.
>>> from six.moves.html_parser import HTMLParser
>>> h = HTMLParser()
>>> print(h.unescape('£682m'))
£682m
답변 2
HTML 엔티티 해독은 웹 개발에서 매우 중요한 기술입니다. 이 기술은 특수 문자 및 기호를 웹에서 표시 가능한 형식으로 변환하는 데 사용됩니다. 예를 들어, HTML에서 <기호는 < 로 표시됩니다. 이러한 엔티티는 웹 브라우저에서 표시되지 않습니다. 대신, 원래 의미의 문자나 기호를 표시합니다.파이썬은 이러한 HTML 엔티티를 쉽게 해독할 수 있는 방법을 제공합니다. 이는 매우 유용한 기능으로써, 웹 서버에서 전송된 문자열을 처리하거나 데이터베이스와 상호 작용할 때 자주 사용됩니다.
HTML 엔티티를 해독하는 방법은 간단합니다. 파이썬 내장 모듈인 html을 사용하여 소스 코드에서 모든 HTML 엔티티를 삭제할 수 있습니다. 이를 위해 html.unescape() 함수를 사용하면 됩니다.
디코딩 단계에서 주의할 점은 문자열 내에서 엔티티를 올바르게 검사하여 처리해야 합니다. 예를 들어, & 및 ; 문자 사이에 문자열이 없는 경우 이 문자열 내에 해당 엔티티가 없다는 뜻이며, 이 경우에는 그대로 둘 수 있습니다.
정리하자면, HTML 엔티티를 디코딩하는 것은 웹 개발에서 매우 중요한 기술이며, 파이썬에서 내장된 html 모듈을 사용하여 쉽게 처리할 수 있습니다. 이를 통해 웹 애플리케이션에서 문자열을 다룰 때 유용하게 사용할 수 있습니다.