아름다운 수프는 당신이 그것을 줄 아무것도를 분석하고, 당신을위한 트리 탐색 물건을한다.
BeautifulSoup로 라이브러리 트래버스, 해결, 유지 관리 "태그 트리"함수 라이브러리 (탐색은 한 번만 수행과 방문을했다 트리의 각 노드에 다음 경로를 따라 스트립 검색을 의미). https://www.crummy.com/software/BeautifulSoup
BS4 수입 BeautifulSoup로에서 : 우리는 종종, BS4 전화 BeautifulSoup로 라이브러리는 라이브러리를 가져옵니다. 상기 식에서, 수입 BeautifulSoup로 즉 주로 BS4에서 BeautifulSoup로 클래스입니다.
BS4 파서 라이브러리
클래스 BeautifulSoup로의 기본 요소
가져 오기 요청. 1 BeautifulSoup로 가져 BS4로부터 2 . 3 . 4 requests.get 입술 = ( 'http://www.pmcaff.com/site/selection') . 5 = BeautifulSoup로 스프 (res.text 'LXML') . 인쇄 6 (수프. a) . # 7 HTML 문법에 존재하는 임의의 태그가 사용될 수있다 스프. <태그> 액세스를 얻기 위해 대응하는 콘텐츠가, 수프. <태그> 제 HTML 문서를 리턴 동일 <태그> 복수의 존재. . (8) . (9) 전단 (soup.a.name) 10 # 각 <태그>는, .name을 <태그>에 의해 얻어 질 수있는 자체 이름이 캐릭터 타입 . 11 (12)는 인쇄 (soup.a.attrs)는 13 인쇄 (스프. a.attrs는 [ '클래스']) 14 #은 <태그> 하나 이상의 속성 유형 사전 가질 수 15 16 인쇄 (soup.a.string을) . 17 # <태그> 태그 .string nonattributed 것은 고려해야 할 문자열 (18)이다 . soup1 BeautifulSoup로 (19) = ( '<P> <! - 주석의 인 -> </ p>', 'LXML' 22 # 주석이 특별한 유형은, 또한 .string을 통해 수행 할 수있다 <태그>
결과 :
<a class="no-login" href=""> 登录 </a>에
에이
{ 'HREF': '', '클래스': [ '노 로그인']} [ '노 로그인']
로그인
다음은 주석입니다
<클래스 'bs4.element.Comment'>
HTML 내용 BS4 통과 라이브러리
HTML의 기본 구조
트리 다운 링크 태그를 순회
상기 식에서, BeautifulSoup로 태그 유형은 트리의 루트입니다.
아들 노드 # 1 이송 soup.body.children에 아이 2 : . 3 인쇄 (child.name) 4. 5 # 후손 노드를 탐색. 6 soup.body.descendants에서 아이 :. . 7 인쇄 (child.name)
트리 태그를 순회
# 1 ... 분석하지 ... 다른, 그래서 만약 수프 자체를 포함하여, 모든 조상 노드를 통과 soup.a.parents에서 부모에 대한 2 : . 3 없음 부모 인 경우 . 4 인쇄 (부모) . 5 그렇지 않으면 : . 6 인쇄 ( parent.name)
결과 :
DIV
DIV
신체
HTML
[문서]
태그 트리 탐색 평행
1 # 遍历后续节点 2 for sibling in soup.a.next_sibling: 3 print(sibling) 4 5 # 遍历前续节点 6 for sibling in soup.a.previous_sibling: 7 print(sibling)
bs4库的prettify()方法
prettify()方法可以将代码格式搞的标准一些,用soup.prettify()表示。在PyCharm中,用print(soup.prettify())来输出。