์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- heapq
- ์ฝ๋ฉ์ ํ
- javascript
- ๋๋ฆผ์ฝ๋ฉ
- node.js
- ๊ตญ๋น์ง์
- ๋ฐฑ์ค
- HTML
- CSS
- ๋ ธ๋ง๋์ฝ๋
- ํ๋ก์ ํธ
- ํ๋ก ํธ์๋
- error
- react
- Til
- ํฌ๋กค๋ง
- ํ์ด์ฌ
- mongodb
- ์ฝ๋ฉ
- Python
- JS
- ์๊ณ ๋ฆฌ์ฆ
- KDT
- ์ฝ๋ฉํ ์คํธ
- ํ ์ดํ๋ก์ ํธ
- ๋ชจ๊ฐ์ฝ
- ๊ทธ๋ฆฌ๋
- ํ๋ก๊ทธ๋๋จธ์ค
- ๊ฐ๋ฐ
- fe
- Today
- Total
๐ฑ → ๐ณ
๋ชจ๊ฐ์ฝ ํ์ด์ฌ ํฌ๋กค๋ง 7์ผ์ฐจ ๋ณธ๋ฌธ
๐ BeautifulSoup์ ํ์์ฑ
6์ผ์ฐจ ์ฝ๋๋ฅผ ํ์ธํด๋ณด๋ฉด
requests๋ก๋ง ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ์ ๋ html์ ํ๊ทธ์ ์ ํ์๋ฅผ ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ ๊ฒ์ด ์๋
html ์ฝ๋๋ฅผ ๋จ์ํ ๋ฌธ์์ด ํ์ ์ผ๋ก ์ฒ๋ฆฌํด html์ ํ ์คํธ๋ก ์ถ๋ ฅํ ๊ฒ์ด๋ค.
๋ค์ ๋งํด, html์์ class๊ฐ nums์ธ divํ๊ทธ๋ฅผ ๋ฐ์์๋ผ!์ ์ฝ๋๊ฐ ์๋,
๋ฌธ์์ด์์ <div class="nums">์ด ํฌํจ๋ ๋ถ๋ถ์ ์ถ๋ ฅํด๋ผ! ๋ผ๊ณ ์ง ์ฝ๋์ด๋ค.
BeautifulSoup ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ฌธ์์ด์ ์ค์ html ์ฝ๋๋ก ๋ณํํด์ฃผ์ด requests์ ํ๊ณ๋ฅผ ๊ทน๋ณตํ ์ ์๋ค.
๐ BeautifulSoup ์ฌ์ฉํ๊ธฐ
raw.text๋ฅผ ์ค์ html ์ฝ๋๋ก ๋ณํํด์ฃผ๊ธฐ
bs4.BeautifulSoup(" HTML ๋ฐ์ดํฐ ", "๋ฐ์ดํฐ ํ์
" )
html ๋ฐ์ดํฐ๋ก raw.text๋ฅผ, ๋ฐ์ดํฐ ํ์ ์html์ด๋ฏ๋ก "html.parser"์ฌ์ฉ
ํด๋์ค์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ฉด์, ๋ฌธ์์ด์ html๋ก ๋ณํํด ์ค๋ค๊ณ ์๊ฐํด๋ ๋ฌด๋ฐฉ
1๏ธโฃ find ํจ์
find ํจ์๋ ์ธ์๋ก ๋ฐ์ ํ๊ทธ, ์ ํ์์ ์ฒ์ ์ผ์นํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฆฌํดํ๋ค.
# 1. ํ๊ทธ๋ง ์ฌ์ฉ ํ๋ ๊ฒฝ์ฐ
html.find('div')
# 2. ์ ํ์๋ง ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
html.find(id = 'example1')
html.find(attrs = {'id':'example1'})
# 3. ํ๊ทธ ์ด๋ฆ๊ณผ ์ ํ์ ์ ๋ณด ๋ชจ๋ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
html.find('div', {'id' : 'example1'})
2๏ธโฃ find_all() ํจ์
find ํจ์๋ ํ๊ทธ์ ์ ํ์๊ฐ ์ผ์นํ๋ ๊ฐ์ฅ ์ฒซ ํ๊ทธ๋ฅผ ๋ฐ์์๋ค๋ฉด,
find_allํจ์๋ ์ผ์นํ๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฆฌ์คํธ ํํ๋ก ๋ฆฌํดํ๋ค.
๐ ์ต์ข ์ฝ๋
import requests
import bs4
URL = 'https://dhlottery.co.kr/gameResult.do?method=byWin'
raw = requests.get(URL)
html = bs4.BeautifulSoup(raw.text, 'html.parser')
target = html.find('div', {'class' : 'nums'})
balls = target.find_all("span", {'class' : 'ball_645'})
print("< ์ต๊ทผ ๋ก๋ ๋น์ฒจ ๋ฒํธ >")
for ball in balls[:-1]:
print("๋น์ฒจ๋ฒํธ : ", ball.text)
print("๋ณด๋์ค ๋ฒํธ : ", balls[-1].text)
๐ ์ถ๋ ฅ๊ฒฐ๊ณผ
โญ์ ๋ฆฌํ๊ธฐโญโ
โ ์ ์ ํฌ๋กค๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ BeautifulSoup
- HTML ๋ฌธ์๋ฅผ ํ์ํด์ ์ํ๋ ๋ถ๋ถ๋ง ๋ฝ์์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- ์ค์ HTML ์ฝ๋๋ก ๋ณํํด์ค๋ค.
โ BeautifulSoup์ ์ฃผ์ ํจ์
- BeautifulSoup()
- find_all()
- find()
'Server > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ชจ๊ฐ์ฝ ํ์ด์ฌ ํฌ๋กค๋ง 9์ผ์ฐจ (0) | 2022.03.25 |
---|---|
๋ชจ๊ฐ์ฝ ํ์ด์ฌ ํฌ๋กค๋ง 8์ผ์ฐจ (0) | 2022.03.25 |
๋ชจ๊ฐ์ฝ ํ์ด์ฌ ํฌ๋กค๋ง 6์ผ์ฐจ (0) | 2022.03.21 |
๋ชจ๊ฐ์ฝ ํ์ด์ฌ ํฌ๋กค๋ง 5์ผ์ฐจ (0) | 2022.03.19 |
๋ชจ๊ฐ์ฝ ํ์ด์ฌ ํฌ๋กค๋ง 4์ผ์ฐจ (0) | 2022.03.18 |