-
참고
Python예제: http://infos.tistory.com/1982
* html 기본 구조: http://infos.tistory.com/1591
* CSS 기본 구조: http://infos.tistory.com/1592
* CSS태그의 문단 구분: http://infos.tistory.com/1593
* 정규식 re : http://infos.tistory.com/1556
* python import
from bs4 import BeautifulSoup as bs
* 생성 ex1
html1 = '<p class="body"></p>'
html2 = '<p class="body">text <img src="http://a.com/a.jpg"></img> </p>'
soup = bs(html2, 'html.parser')
* soup객체 인스턴스는 맴버변수로 태그간 상하 참조 관계를 가진다.
class bs # BeautifulSoup
parent = 부모태그
자식들... = 자식태그들
operator [] = 자식태그에 속성들
* 자식태그
모든 계층의 자식을 직접 멤버변수로 접근한다. 자식의 모든 계층을 직속 멤버변수로 접근.
soup 는 root.
soup.p 는 '<p ...'.
soup.p.img, soup.img 는 '<img ..'.
* 부모태그
맴버변수 parent로 접근.
soup와 soup.img.parent는 같다.
* 태그삭제
soup.img.extract() # list.pop효과
* 속성목록.
soup.p.attrs # {'class': ['body']}
soup.img.attrs # {'src': 'http://a.com/a.jpg'}
* 속성선택.
soup.img['src'] # "http://a.com/a.jpg"
* 속성삭제.
del soup.img['src']
* 텍스트, 자식태그, 등 컨텐츠 출력
자신의 텍스트는 포함하지만 자신의 속성&인수는 포함되지 않는다.
soup.p.contents # ['text1', <img src="http://a.com/a.jpg"/>, ' ']
* find()은 속성을 찾고, 해당 태그를 리턴 한다.
soup.find(class_="body") # <p class="body">text <img src="http://a.com/a.jpg"/> </p>
D8815 모든 속성을 찾을 수 있는 건 아니다. soup.find(src ...)경우 못찾는다.
* select()는 CSS선택자로 태그를 찾아 리턴.
soup.select("img") # [<img src="http://a.com/a.jpg"/>]
'Python' 카테고리의 다른 글
Python예제 목록 (0) 2018.12.10 Python예제 - SMTP Email (0) 2018.10.06 Python예제 - soup.prettify() (0) 2018.02.04 Python예제 - soup.find, soup.find_all (0) 2018.02.04 Python예제 - soup.extract() (0) 2018.02.03 Python문법 - 예외 try except else finally assert raise (0) 2018.02.01 Python예제 - string, join, split, find, startswith, endswith, strip, format (0) 2018.01.31 Python예제 - string.digits string.ascii_letters (0) 2018.01.31