Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 코딩컨밴션
- Vue.js
- MariaDB
- 코딩규칙
- python
- 개발회고
- html제거
- 스타일가이드
- vuejs입문
- CSS애니메이션
- css rule
- 투두리스트
- 파이썬
- 로딩UI
- css규칙
- 코딩가이드
- 웹스크래핑
- 뉴스수집
- @keyframes
- google style guide
- 자기개발
- javascript
- 프레임워크
- CSS로딩
- 구글스타일가이드
- to do list
- 구글CSS
- vue-cli
- 자바스크립트
- vueJS
Archives
- Today
- Total
코드공부방
파이썬(Python) 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' 카테고리의 다른 글
Python Datetime 모듈 : 현재 시간 출력 / 시간 간 덧셈, 뺄셈 계산 (0) | 2021.11.24 |
---|---|
C, C++, C#, Python 코드 단순 비교 ("Hello World" 출력) (0) | 2021.11.20 |
파이썬(python) 딕셔너리(dictionary) JSON 파일로 저장하기 (0) | 2021.09.14 |
Comments