์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ์ฝ๋ฉํ ์คํธ
- react
- ํ์ด์ฌ
- ํ๋ก ํธ์๋
- KDT
- ํ๋ก์ ํธ
- ๊ตญ๋น์ง์
- CSS
- fe
- ํฌ๋กค๋ง
- ๊ทธ๋ฆฌ๋
- ๋ฐฑ์ค
- JS
- ์ฝ๋ฉ์ ํ
- Til
- error
- ์ฝ๋ฉ
- ๋๋ฆผ์ฝ๋ฉ
- heapq
- ๋ ธ๋ง๋์ฝ๋
- ์๊ณ ๋ฆฌ์ฆ
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋ชจ๊ฐ์ฝ
- javascript
- ๊ฐ๋ฐ
- HTML
- node.js
- Python
- mongodb
- ํ ์ดํ๋ก์ ํธ
- Today
- Total
๐ฑ → ๐ณ
๋ชจ๊ฐ์ฝ ํ์ด์ฌ ํฌ๋กค๋ง 6์ผ์ฐจ ๋ณธ๋ฌธ
๊ธ๋ก๋ง ๋ดค์ ๋ ๋๊ฒ ์ฌ์๋ณด์๋๋ฐ, ๋ง์ ์ค์ต ๋ฐ๋ผํ ๋
์ค๋ฅ๊ฐ ์๊พธ๋์ ๋ต๋ตํ๋,, ใ ใ
์์ง๋ ํด๊ฒฐ์ฑ ์ ์ฐพ์ง ๋ชปํ๋ค. ์ฐ์ฐํด
๊ทธ๋ผ ์์ํด๋ณด๋๋ก ํ๊ฒ ๋ค.
#6์ผ์ฐจ. ์ ์ ํฌ๋กค๋งโ
ํฌ๋กค๋ง์ ๋ณธ๊ฒฉ์ ์ผ๋ก ์์ํ๊ธฐ ์ , ๋ ๊ฐ์ง๋ฅผ ๋จผ์ ์๊ฐํด์ผํ๋ค.
โ๏ธ ํฌ๋กค๋ง์ ํ ์น ์ฌ์ดํธ ์ ์
โ๏ธ ๋ฐ์ดํฐ ์ ์
๐ ํฌ๋กค๋ง ๋์ ์ฌ์ดํธ ์ดํด๋ณด๊ธฐ
ํฌ๋กค๋ง์ ํ ์น ์ฌ์ดํธ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ ํ ํ์๋ ๊ผญ ํด๋น ์ฌ์ดํธ๋ฅผ ์ดํด๋ณด์์ผ ํ๋ค.
์ ์ /๋์ ํฌ๋กค๋ง ์ค ์ด๋ค ๊ฒ์ด ์ ํฉํ์ง ์ ํด์ผ ํ๊ธฐ ๋๋ฌธ
๋ก๋ ๋น์ฒจ ๋ฒํธ ์ฌ์ดํธ๋ฅผ ํฌ๋กค๋งํ๊ธฐ๋ก ํ์๋ค.
https://dhlottery.co.kr/gameResult.do?method=byWin
๋ก๋6/45 - ํ์ฐจ๋ณ ๋น์ฒจ๋ฒํธ
1007ํ ๋น์ฒจ๊ฒฐ๊ณผ (2022๋ 03์ 19์ผ ์ถ์ฒจ) ๋น์ฒจ๋ฒํธ 8 11 16 19 21 25 1007ํ ์์๋ณ ๋ฑ์๋ณ ์ด ๋น์ฒจ๊ธ์ก, ๋น์ฒจ๊ฒ์ ์, 1๊ฒ์๋น ๋น์ฒจ๊ธ์ก, ๋น์ฒจ๊ธฐ์ค, ๋น๊ณ ์๋ด ์์ ๋ฑ์๋ณ ์ด ๋น์ฒจ๊ธ์ก ๋น์ฒจ๊ฒ์ ์ 1๊ฒ์
dhlottery.co.kr
ํ๋์ ์น ํ์ด์ง ์์ ํ์ํ ๋น์ฒจ ๋ฒํธ๊ฐ ๋ชจ๋ ๋ํ๋ ์๋ ๊ฒ์ ์ ์ ์๋ค.
F12 ํค๋ฅผ ๋๋ฌ ๋ฒํธ๋ฅผ ์์งํ๋ ๊ฒ์ด ๊ฐ๋ฅํ์ง ํ์ธํด ์ฃผ๋ฉด ๋๋ค.
select ๋ฒํผ์ ํด๋ฆญํ์ฌ, ๋ด๊ฐ ์ํ๋ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ html ํ๊ทธ๋ฅผ ์ฐพ์ ๋ณธ๋ค.
ํ๊ทธ๋ 'div'์ด๊ณ class๊ฐ 'nums'์ธ HTML ์์ <div class="nums"> ์์
์ฐ๋ฆฌ๊ฐ ์ํ๋ ๋น์ฒจ ๋ฒํธ๊ฐ ๋ชจ๋ ํฌํจ๋์ด ์๋ ๊ฒ์ ์ ์ ์๋ค.
์ผ์ชฝ์ ์๋ ํ์ดํ 'โถ' ๋ฅผ ํด๋ฆญํ๋ฉด ํ๊ทธ๊ฐ ์ด๋ฆฌ๋ฉด์, ํ์ ํ๊ทธ๋ฅผ ํ์ธํ ์ ์๋ค.
<div class="num win">ํ๊ทธ์ 6๊ฐ, <div class="num bonus"> ํ๊ทธ์ 1๊ฐ๊ฐ ์ ์ฅ๋์ด์๋ ๊ฒ์ ํ์ธ ํ์๋ค.
๋ก๋ ์ฌ์ดํธ์ ํน์ง์ ์ ๋ฆฌํด๋ณด์๋ฉด
โ๏ธ ์น ์ฌ์ดํธ์ ์ฃผ์์ ์ ์ํ๋ฉด, ํ ํ์ด์ง ๋ด์ ์ํ๋ ๋ฐ์ดํฐ๊ฐ ๋ชจ๋ ๋ฑ์ฅ
โ๏ธ ์ํ๋ ๋ฐ์ดํฐ์ ํ๊ทธ๋ฅผ ์ดํด๋ณธ ๊ฒฐ๊ณผ ํด๋ฆญ, ์ ๋ ฅ, ํ์ด์ง ์ด๋ ๋ฑ์ ๋ณํ๊ฐ ์์ด๋ ๋ฐ์ดํฐ ์์ง ๊ฐ๋ฅ
โ -> ์ ์ ํฌ๋กค๋ง์ ์ ํฉ
๐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ 'requests'
์ ์ ํฌ๋กค๋ง์ ์ํ ์ฒซ ๋ฒ์งธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ 'requests' ์ด๋ค.
์ด์ ์๋ ๋งํ๋ฏ, requests ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํ์ด์ฌ์์ ์น์ ์์ฒญ์ ํธํ๊ฒ ์ ์ก ์์ผ์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค.
๐ ์น์ฌ์ดํธ์ HTML ๋ถ๋ฌ์ค๊ธฐ
์ ์ฒด html ์ฝ๋๋ฅผ ๋ฝ์ ์จ ํ get ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์น ํ์ด์ง์ ๋ด์ฉ์ ์์ฒญํ ์ ์๋ค.
โ get() ํจ์
requests ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ get() ํจ์๋ ์น ํ์ด์ง์ ๋ด์ฉ์ ์์ฒญํ๋ ํจ์
requests.get(" ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ฌ URL " )
๐ ํ์ด์ฌ ์ฝ๋ ์์ฑ
import requests
URL = 'https://dhlottery.co.kr/gameResult.do?method=byWin'
raw = requests.get(URL)
print(raw)
๐ ์ถ๋ ฅ๊ฒฐ๊ณผ
<Response [200]>
<Response [200]>์ get ํจ์๋ฅผ ํตํด ๋ณด๋ธ ์์ฒญ์ด ์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์๋ค๋ ์๋ฏธ
Response ๋ค์ ๋์ค๋ 200์ ์ํ์๋ต์ฝ๋๋ผ๊ณ ํ๊ณ ,
์์ฒญ์ด ์ด๋ป๊ฒ ์ฒ๋ฆฌ๋์๋์ง์ ๋ฐ๋ผ 404, 500 ๋ฑ์ ๊ฐ์ ๊ฐ์ง๋ค.
- 1xx (์ ๋ณด): ์์ฒญ์ ๋ฐ์์ผ๋ฉฐ ํ๋ก์ธ์ค๋ฅผ ๊ณ์ํ๋ค
- 2xx (์ฑ๊ณต): ์์ฒญ์ ์ฑ๊ณต์ ์ผ๋ก ๋ฐ์์ผ๋ฉฐ ์ธ์ํ๊ณ ์์ฉํ์๋ค
- 3xx (๋ฆฌ๋ค์ด๋ ์ ): ์์ฒญ ์๋ฃ๋ฅผ ์ํด ์ถ๊ฐ ์์ ์กฐ์น๊ฐ ํ์ํ๋ค
- 4xx (ํด๋ผ์ด์ธํธ ์ค๋ฅ): ์์ฒญ์ ๋ฌธ๋ฒ์ด ์๋ชป๋์๊ฑฐ๋ ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์๋ค
- 5xx (์๋ฒ ์ค๋ฅ): ์๋ฒ๊ฐ ๋ช ๋ฐฑํ ์ ํจํ ์์ฒญ์ ๋ํด ์ถฉ์กฑ์ ์คํจํ๋ค
HTML ์ฝ๋ ์ถ๋ ฅ
print(raw.text)
์ค์ ๋ก ๋ก๋ ๋ฒํธ ๋ฐ์ดํฐ๊ฐ ์กด์ฌํ๋ ์ง ํ์ธ
import requests
URL = 'https://dhlottery.co.kr/gameResult.do?method=byWin'
raw = requests.get(URL)
target = '<div class="nums">'
if target in raw.text:
idx = raw.text.index(target)
print(raw.text[idx:idx + 578])
โญ ์คํ๊ฒฐ๊ณผ
๋ก๋ ๋ฒํธ ๋ฐ์ดํฐ๊ฐ ์กด์ฌํ๋ ๊ฒ์ ํ์ธ ํ ์ ์๋ค.
โญ์ ๋ฆฌํ๊ธฐโญ
โ ํฌ๋กค๋ง ํ๊ธฐ ์ ์๊ฐํ 2๊ฐ์ง
- ํฌ๋กค๋ง์ ํ ์น ์ฌ์ดํธ ์ ์
- ๋ฐ์ดํฐ ์ ์
=> ์ฌ์ดํธ์ ์ ํฉํ ํฌ๋กค๋ง ๋ฐฉ๋ฒ ๊ณ ๋ฅด๊ธฐ (์ ์ /๋์ )
โ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ์ด์
- ์น์ฌ์ดํธ์ HTML ์ฝ๋๋ฅผ ๋ถ๋ฌ์ค๊ธฐ ์ํด
โ requests ๋ผ์ด๋ธ๋ฌ๋ฆฌ (์ ์ ํฌ๋กค๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ)
- get() ํจ์๋ก ์น ํ์ด์ง์ ๋ด์ฉ์ ์์ฒญ
์ฌ๊ธฐ๊น์ง๊ฐ ์ค๋ ๋ฐฐ์ด ๋ด์ฉ์ด๊ณ , ๋ด๊ฐ ๋ ์ค๋ฅ์ ๋ํด์ ์ค๋ช
ํด๋ณด์๋ฉด
์ด๋ก ๊ณต๋ถ๋ฅผ ํ๊ณ ๋์ ์ถํ์ ํ์ ํ๋ก์ ํธ ํ ๋ git์ด ํ์ํ๋ค๋ ๊ธ์ ๋ณด๊ณ
์นํด์ง๋ ค๊ณ ๋ ธ๋ ฅ์ค์ด๋ค.
๊ทธ๋์ ์ค๋ ๋ฐฐ์ด ์ฝ๋๋ฅผ github์ ์ฌ๋ฆฌ๊ณ ์ git ์ ์ฅ์์ ์ฝ๋๋ฅผ ๋ณต์ฌ - ๋ถ์ฌ๋ฃ๊ธฐ๋ฅผ ํ๋๋ฐ๋ ์๊พธ
ModuleNotFoundError: No module named 'requests'
์ด๋ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
๊ตฌ๊ธ์ ๊ฒ์๋ ํด๋ณด๊ณ ์ฌ๋ฌ ๋ฐฉ๋ฒ์ ์จ๋ดค๋๋ฐ๋ ์คํ์ด ์๋๋ ์ค์ด๋ค. . .
๋๋์ฒด ๋ญ๊ฐ ๋ฌธ์ ์ง,,
๋ desktop์์ ํ๋ฉด ์ฝ๋๊ฐ ์คํ์ด ๋๋ค.
๋ญ๊ฐ ๋ฌธ์ ์ง,,
'Server > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ชจ๊ฐ์ฝ ํ์ด์ฌ ํฌ๋กค๋ง 8์ผ์ฐจ (0) | 2022.03.25 |
---|---|
๋ชจ๊ฐ์ฝ ํ์ด์ฌ ํฌ๋กค๋ง 7์ผ์ฐจ (0) | 2022.03.25 |
๋ชจ๊ฐ์ฝ ํ์ด์ฌ ํฌ๋กค๋ง 5์ผ์ฐจ (0) | 2022.03.19 |
๋ชจ๊ฐ์ฝ ํ์ด์ฌ ํฌ๋กค๋ง 4์ผ์ฐจ (0) | 2022.03.18 |
๋ชจ๊ฐ์ฝ ํ์ด์ฌ ํฌ๋กค๋ง 3์ผ์ฐจ (0) | 2022.03.17 |