HTML태그 "<>" 를 다 지워버리고 내용만 남기려고 합니다.
조회수 4654회
소스코드
from html.parser import HTMLParser
br = urllib.request.urlopen('http://www.google.com')
html = str(br.read())
print(html)
같은 소스에서 그냥 html을 바로 출력하는 게 아니라
<a class=gb1 href="http://www.youtube.com/?gl=KR&tab=w1">YouTube</a>
에서 태그랑 요소를 제거한 YouTube만 추출하고 싶습니다.
전체 태그랑 요소를 제거하려면 어떻게 해야될까요?
1 답변
-
HTML을 strip하는 건 파이선 버전에 따라 조금씩 다릅니다.
Python 2
from HTMLParser import HTMLParser class MLStripper(HTMLParser): def __init__(self): self.reset() self.fed = [] def handle_data(self, d): self.fed.append(d) def get_data(self): return ''.join(self.fed) def strip_tags(html): s = MLStripper() s.feed(html) return s.get_data()
Python 3
from html.parser import HTMLParser class MLStripper(HTMLParser): def __init__(self): self.reset() self.strict = False self.convert_charrefs= True self.fed = [] def handle_data(self, d): self.fed.append(d) def get_data(self): return ''.join(self.fed) def strip_tags(html): s = MLStripper() s.feed(html) return s.get_data()
사용법
from html.parser import HTMLParser import urllib.request #여기에 버전에 알맞은 함수 코드 br = urllib.request.urlopen('http://www.google.com') html = br.read() print(strip_tags(html))
댓글 입력