Python BS4 라 이브 러 리 의 설치 와 사용 에 대한 자세 한 설명
5541 단어 PythonBS4 라 이브 러 리
bs4 라 이브 러 리 설치
Python 의 강력 한 점 은 바로 그 가 개 원 된 언어 로 서 많은 개발 자 들 이 이 를 위해 제3자 라 이브 러 리 를 개발 하 는 것 이다.그러면 우리 개발 자 들 은 특정한 기능 을 실현 하려 고 할 때 특정한 기능 을 실현 하 는 데 전념 하면 다른 세부 사항 과 기본 적 인 부분 은 모두 라 이브 러 리 에 맡 길 수 있다.bs4 라 이브 러 리 는 우리 가 파충 류 를 쓰 는 강력 한 조력자 이다.
설치 방식 은 매우 간단 합 니 다.우 리 는 pip 도구 로 명령 줄 에 설치 합 니 다.
$ pip install beautifulsoup4
이어서 bs4 라 이브 러 리 가 성공 적 으로 설치 되 었 는 지 살 펴 보 겠 습 니 다.
$ pip list
이렇게 해서 저희 가 bs4 라 이브 러 리 를 성공 적 으로 설 치 했 습 니 다.bs4 라 이브 러 리 의 간단 한 사용
여기 서 bs4 라 이브 러 리 의 사용 에 대해 간단히 설명 하 겠 습 니 다.
웹 에서 웹 페이지 를 캡 처 하 는 방법 은 잠시 고려 하지 않 습 니 다.
만약 에 우리 가 기어 올 라 가 야 할 html 가 다음 과 같다 고 가정 하면:
다음 HTML 코드 는 예 를 들 어 여러 번 사 용 될 것 입 니 다.이것 은 앨 리 스 가 선경 을 유람 하 는 내용 입 니 다.
<html><head><title>The Dormouse's story</title></head>
<body>
<p class="title"><b>The Dormouse's story</b></p>
<p class="story">Once upon a time there were three little sisters; and their names were
http://example.com/elsie" class="sister" id="link1">Elsie,
http://example.com/lacie" class="sister" id="link2">Lacie and
http://example.com/tillie" class="sister" id="link3">Tillie;
and they lived at the bottom of a well.</p>
<p class="story">...</p>
</html>
다음은 이 html 페이지 코드 를 bs4 라 이브 러 리 로 분석 하기 시작 합 니 다.
# bs4
from bs4 import BeautifulSoup
#
soup = BeautifulSoup(html,'html.parser')
#
print(soup.prettify())
'''
OUT:
# <html>
# <head>
# <title>
# The Dormouse's story
# </title>
# </head>
# <body>
# <p class="title">
# <b>
# The Dormouse's story
# </b>
# </p>
# <p class="story">
# Once upon a time there were three little sisters; and their names were
# <a class="sister" href="http://example.com/elsie" rel="external nofollow" id="link1">
# Elsie
# </a>
# ,
# <a class="sister" href="http://example.com/lacie" rel="external nofollow" id="link2">
# Lacie
# </a>
# and
# <a class="sister" href="http://example.com/tillie" rel="external nofollow" id="link2">
# Tillie
# </a>
# ; and they lived at the bottom of a well.
# </p>
# <p class="story">
# ...
# </p>
# </body>
# </html>
'''
bs4 라 이브 러 리 가 웹 페이지 파일 을 soup 형식 으로 바 꾸 는 것 을 볼 수 있 습 니 다.사실 bs4 라 이브 러 리 는 분석,옮 겨 다 니 기,유지,'태그 트 리'의 기능 라 이브 러 리 입 니 다.
쉽게 말 하면 bs4 라 이브 러 리 는 html 소스 코드 를 다시 포맷 했다.
그래서 우 리 는 그 중의 노드,라벨,속성 등 을 조작 하 는 데 편리 하 다.
다음은 구조 화 된 데 이 터 를 간단하게 조회 하 는 방식 입 니 다.
맨 앞의 html 파일 을 자세히 관찰 하 세 요.
# title
soup.title
# <title>The Dormouse's story</title>
#title name
soup.title.name
# u'title'
#title String
soup.title.string
# u'The Dormouse's story'
#title name
soup.title.parent.name
# u'head'
#
soup.p
# <p class="title"><b>The Dormouse's story</b></p>
# p class
soup.p['class']
# u'title'
# a
soup.a
# http://example.com/elsie" id="link1">Elsie
# a
soup.find_all('a')
# [http://example.com/elsie" id="link1">Elsie,
# http://example.com/lacie" id="link2">Lacie,
# http://example.com/tillie" id="link3">Tillie]
# id 3 a
soup.find(id="link3")
# http://example.com/tillie" id="link3">Tillie
위의 예 를 통 해 우 리 는 bs4 라 이브 러 리 가 html 원본 파일 을 이렇게 이해 한 다 는 것 을 알 수 있다.우선 html 원본 파일 을 soup 형식 으로 변환 합 니 다.
이어서 그 중에서 특정한 방식 으로 내용 을 캡 처 한다.
좀 더 고 급 스 러 운 용법?
문서 에서 모든탭 의 링크 를 찾 습 니 다: \#발 견 했 어,findall 방법 은 교체 가능 한 목록 을 되 돌려 줍 니 다. for link in soup.find_all('a'): print(link.get('href')) # http://example.com/elsie # http://example.com/lacie # http://example.com/tillie문서 에서 모든 텍스트 내용 가 져 오기: \#우 리 는 get 을 통 해text 방법 은 원본 파일 의 모든 text 내용 을 빠르게 가 져 옵 니 다. print(soup.get_text()) # The Dormouse's story # # The Dormouse's story # # Once upon a time there were three little sisters; and their names were # Elsie, # Lacie and # Tillie; # and they lived at the bottom of a well. # # ...bs4 라 이브 러 리 의 입문 사용 은 여기까지 진행 하 겠 습 니 다.이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.