코드공부방

파이썬(Python) HTML태그 제거 (정규표현식) 본문

웹프로그래머/Python

파이썬(Python) HTML태그 제거 (정규표현식)

:- ) 2023. 5. 3. 13:31
반응형

python text에서 HTML코드 제거

웹사이트 크롤링 작업을 하다보면 무조건 직면하게 되는 문제가 있다. 바로 문장에서 HTML태그를 제거해야하는 순간이 온다. 사실은 HTML태그를 제거하는 것은 아니고 HTML코드는 '<tagname>내용</tagname>'형태로 되어있기 때문에 
정규식을 활용하여 text뭉치에서 '<', '>' 문자를 찾아 안에 있는 태그명과 함께 삭제를 하는 것이다. 

아래 예제를 보면 자.


웹에서 수집된 HTML태그 제거가 필요한 텍스트는 아래와 같다.

<dl>
    <dd>
        <ul>
            <li>채널배정이 "RB", "A"인 차량 대상</li>
            <li>차량 기본 정보 / 배정 정보 <strong>1일 2회</strong> 업데이트<br>(오전
                10시 / 오후 10시)
            </li>
            <li>차량 조회 수 <strong>(매 시간)</strong></li>
            <li>리본 상담 수 정보 <strong>(매 시간)</strong></li>
            <li>엔카 상담 정보 <strong>1일 1회</strong> 업데이트 (오후 5시)
            </li>
        </ul>
    </dd>
</dl>

Python에서 정규 표현식을 사용하기 위해서는 내장 모듈인 re를 사용해야 하므로 import 해준 후 HTML태그를 제거하는 함수를 하나 만들어 사용하면 쉽게 제거가 가능하다.

import re

def fn_RemoveHTML(sentence) :
	sentence = re.sub('(<([^>]+)>)', '', sentence)
	return sentence

text = f"""
<dl>
<dd>
<ul>
<li>채널배정이 "RB", "A"인 차량 대상</li>
<li>차량 기본 정보 / 배정 정보 <strong>1일 2회</strong> 업데이트<br>(오전 10시 / 오후 10시)</li>
<li>차량 조회 수 <strong>(매 시간)</strong></li>
<li>리본 상담 수 정보 <strong>(매 시간)</strong></li>
<li>엔카 상담 정보 <strong>1일 1회</strong> 업데이트 (오후 5시)
</li>
</ul>
</dd>
</dl>
"""

r_text = fn_RemoveHTML(text)
print(r_text)

위 코드를 출력하면 원하는대로 텍스트만 남게된다.

코드 실행 결과


 

Python Datetime 모듈 : 현재 시간 출력 / 시간 간 덧셈, 뺄셈 계산

Python Datetime 모듈 : 현재 시간 출력 / 시간의 덧셈, 뺄셈 계산 파이썬에서 현재시간을 사용(출력) 하려면 datetime모듈의 now() 함수를 호출하면 매우 간단하게 현재 시각을 얻을 수 있다. import datetime

code-study.tistory.com

 

파이썬(python) 딕셔너리(dictionary) JSON 파일로 저장하기

데이터를 CSV형태로 저장하면 간단한 2차원 데이터밖에 표현할 수 없지만 JSON을 사용하면 list 또는 dict를 조합한 복잡한 데이터 구조를 쉽게 다룰 수 있다. 파이썬은 JSON(JavaScript Object Notation) 형식

code-study.tistory.com

 

Python 텍스트(*.txt) 파일 읽고 출력(print)하기

텍스트(*.txt) 파일 불러와(import) 출력(print)하기 python에서 text파일 읽어와 print 테스트를 하기 위해 샘플 text파일을 생성했다. (파이썬 파일과 동일경로에 생성) 1. 출력하기 방법1 > 내장함수 사용 (

code-study.tistory.com

 

반응형
Comments