python의 HTMLParser 모듈 지식 요약

이 장의 내용은 주로 Python에 내장된 HTML 해석 라이브러리 HTMLParser 모듈을 살펴보겠습니다. 기본적으로 페이지 캡처에도 적용됩니다. 만약에 우리는 페이지에 존재하는 정적 링크를 수집해야 하지만 페이지는 코드의 양이 매우 많고 페이지도 많을 것입니다. 이렇게 보면 비교적 번거롭고 작업량도 매우 많습니다. 이때 우리는 htmlparser 모듈을 사용할 수 있습니다.구체적인 사용 내용을 함께 알아보다.
설치:

npm install htmlparser
htmlparser는 구조 함수를 제공합니다.

function Parser(handler) {
  this._handler = handler;
}
HTMLParser 해석 HTML:

from html.parser import HTMLParser
from html.entities import name2codepoint
class MyHTMLParser(HTMLParser):
  def handle_starttag(self, tag, attrs):
    print('<%s>' % tag)
  def handle_endtag(self, tag):
    print('</%s>' % tag)
  def handle_startendtag(self, tag, attrs):
    print('<%s/>' % tag)
  def handle_data(self, data):
    print(data)
  def handle_comment(self, data):
    print('<!--', data, '-->')
  def handle_entityref(self, name):
    print('&%s;' % name)
  def handle_charref(self, name):
    print('&#%s;' % name)
parser = MyHTMLParser()
parser.feed('''<html>
<head></head>
<body>
<!-- test html parser -->
  <p>Some <a href=\"#\">html</a> HTML tutorial...<br>END</p>
</body></html>''')
HTML은 본질적으로 XML의 서브집합이지만 HTML의 문법은 XML만큼 엄격하지 않기 때문에 여러분은 HTMLParser를 이용하여 HTML을 해석하려고 시도할 수 있습니다.
지식 포인트 확장:
상용 방법 소개
lfeed(data): 주로 html 라벨이 있는str를 받아들이는데 이 방법을 호출할 때 해당하는 데이터를 제공할 때 전체 실례(instance)가 실행을 시작하고close()를 끝냅니다.
l handle_starttag(tag,attrs): 이 방법으로 Parse_ 수신starttag에서 되돌아오는 tag와attrs를 처리하고 처리 방식은 보통 사용자가 덮어쓰고 그 자체가 비어 있습니다.
예를 들어 연결된 start tag는 입니다. 그러면 대응하는 매개 변수 tag='a'(소문자)입니다.attrs는 start tag <>의 속성으로 원조 형식 (name,value) 으로 되돌아옵니다. (모든 내용은 소문자입니다.예를 들어,, 그러면 내부 호출 형식은:handle_starttag('a', [('href','http://www.baidu.com)]).l handle_endtag(tag): 상술한 바와 같이 종료 라벨, 즉 l handle_데이터(data): 웹 페이지의 데이터, 즉 시작 탭과 끝 탭 사이의 내용을 처리합니다.예: ...의 생략 번호 내용l handle_comment(data), 처리 설명, 사이의 텍스트l reset (): 매개 변수로 입력한 데이터를 비우는 것을 포함하여 실례를 초기화합니다.python의 HTMLParser 모듈 지식에 대한 이 글을 요약하여 소개합니다. 더 많은 관련python의 HTMLParser 모듈이 어떤 내용인지 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보시기 바랍니다. 앞으로 많은 응원 부탁드립니다!python의 HTMLParser 모듈 지식에 대한 이 글을 요약하여 소개합니다. 더 많은 관련python의 HTMLParser 모듈이 어떤 내용인지 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보시기 바랍니다. 앞으로 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기