BeautifulSoup4

2022. 9. 27. 12:04AI/프로그래머스 AI 코스

DOM(Document Object Model)

브라우저는  HTML을 파싱해서 DOM을 만들고 이를 출력한다 

HTML 문서를 브라우저가 렌더링엔진으로 웹 문서를 로드하고 tree 구조로 만드는 파싱을 수행하고 DOM 을 생성한다

head, body, 등 각 노드 object들을 tree 구조로 만든것을 DOM이라 한다

DOM을 이용하면 보다 쉽게 HTML manipulate이 가능하다

파이썬으로 HTML을 분석할때는 HTML Parser가 필요하다

 

https://wit.nts-corp.com/2019/02/14/5522

 

DOM은 정확히 무엇일까? | WIT블로그

최근 잘못 이해하고 있었던 DOM에 대해 정확한 개념을 정리해 보고자 What, exactly, is the DOM? 문서를 번역해 보았습니다.

wit.nts-corp.com

BeautifulSoup4

from bs4 import BeautifulSoup as bs
import requests

res = requests.get('http://www.example.com')	# request
soup = bs(res.text,'html.parser')	#parsing, html.parser 전달
print(soup.prettify())	# prettify() 실행

Attributes 확인

soup.body
soup.text

find, find_all

soup.find('h1') # 찾으려는 태그명 전달
soup.find_all('h1') # 찾으려는 태그명 전달

h1 = soup.find('h1') # object 생성후 접근 가능
h1.text

Locator

tagname : 태그 이름 

id : 하나의 태그를 가리키는 라벨(unique)

class : 태그의 묶음

soup.find_all('div', id='unique') # id가 일치하는것들만 return
result = soup.find_all('div', 'unique') # class가 일치하는것들만 return
result.strip() # 불필요한 공백 제거

example

yes = requests.get('http://www.yes24.com/24/Category/More/001001007?ElemNo=91&ElemSeq=2')
soup = bs(yes.text, 'html.parser')
div = soup.find_all('div', 'goods_name')
for d in div:
    print(d.a.text)

'AI > 프로그래머스 AI 코스' 카테고리의 다른 글

Flask  (0) 2022.10.13
Git 요약  (0) 2022.10.04
MySQL  (0) 2022.09.28
Selenium  (0) 2022.09.28
HTTP  (1) 2022.09.26