Python 파충류 의 BeautifulSoup 라 이브 러 리 (2): 대상 의 종류
4724 단어 파 이 썬 파충류
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?'
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python 파충류 (1) - 데이터 세척 및 추출re 모듈 의 사용 추출, 일치, 교체 추출: findall () 일치: match () 교체: sub () 예: Xpath 의 기본 문법 표현 식 묘사 하 다. 루트 노드 선택 또는 하위 임의의 노드, 위치 고려 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.