Python 파충류 의 BeautifulSoup 라 이브 러 리 (2): 대상 의 종류

4724 단어 파 이 썬 파충류
1. 태그 (태그) 대상
1. 태그 대상 은 XML 또는 HTML 네 이 티 브 문서 의 tag 와 같 습 니 다.
from bs4 import BeautifulSoup
soup = BeautifulSoup('Extremely bold','lxml')
tag = soup.b
type(tag)
bs4.element.Tag

2. Tag 의 Name 속성
태그 마다 이름 이 있 습 니 다. 'name' 을 통 해 가 져 옵 니 다.
tag.name
'b'
tag.name = "blockquote" #          
tag
Extremely bold

3. Tag 의 Attributes 속성
단일 속성 가 져 오기
tag['class']
['boldest']

사전 방식 으로 모든 속성 가 져 오기
tag.attrs
{'class': ['boldest']}

속성 추가
tag['class'] = 'verybold'
tag['id'] = 1
print(tag)
Extremely bold

속성 삭제
del tag['class']
del tag['id']
tag
Extremely bold

4. 태그 의 다 중 속성
다 중 속성 은 목록 을 되 돌려 줍 니 다.
css_soup = BeautifulSoup('

','lxml') print(css_soup.p['class'])

['body', 'strikeout']

tag 를 문자열 로 변환 할 때 다 중 값 속성 은 하나의 값 으로 합 쳐 집 니 다.
rel_soup = BeautifulSoup('

Back to the homepage

'
,'lxml') print(rel_soup.a['rel']) rel_soup.a['rel'] = ['index', 'contents'] print(rel_soup.p)
['index']

Back to the homepage


변 환 된 문서 가 XML 형식 이 라면 tag 에는 다 중 속성 이 포함 되 어 있 지 않 습 니 다.
xml_soup = BeautifulSoup('

', 'xml') xml_soup.p['class']

'body strikeout'

2. 문자열 옮 겨 다 닐 수 있 음 (NavigableString)
1. 문자열 은 tag 에 자주 포함 되 며, NavigableString 클래스 를 사용 하여 tag 에 있 는 문자열 을 포장 합 니 다.
from bs4 import BeautifulSoup
soup = BeautifulSoup('Extremely bold','lxml')
tag = soup.b
print(tag.string)
print(type(tag.string))
Extremely bold


2. NavigableString 문자열 은 Python 의 str 문자열 과 같 습 니 다. str () 방법 을 통 해 NavigableString 대상 을 str 문자열 로 직접 변환 할 수 있 습 니 다.
unicode_string = str(tag.string)
print(unicode_string)
print(type(unicode_string))
Extremely bold


3. tag 에 포 함 된 문자열 은 편집 할 수 없 지만 다른 문자열 로 바 꿀 수 있 습 니 다. replacewith () 방법
tag.string.replace_with("No longer bold")
tag
No longer bold

3. BeautifulSoup 대상
BeautifulSoup 대상 은 문서 의 모든 내용 을 표시 합 니 다.대부분의 경우 태그 대상 으로 문서 트 리 와 검색 문서 트 리 에서 설명 하 는 대부분의 방법 을 지원 합 니 다.
4. 주석 과 특수 문자열 (Comment) 대상
markup = ""
soup = BeautifulSoup(markup,'lxml')
comment = soup.b.string
type(comment)
bs4.element.Comment

Comment 대상 은 특수 한 유형의 NavigableString 대상 입 니 다.
comment
'Hey, buddy. Want to buy a used parser?'

좋은 웹페이지 즐겨찾기