์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
Tags
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ๋ฐฑ์ค ๋ฌ์คํธ
- ๋ฐฑ์ค
- ์ค๋ผํดDB
- ํ์ด์ฌ ์ฑ๋ฆฐ์ง
- C
- Reversing
- ์๋ฐ ๊ธฐ์ด
- ubuntu
- ๋ฌ์คํธ ์์
- Python challenge
- ์๋ฐ ๊ฐ๋
- data communication
- ๋ฐ์ดํฐ ํต์
- Python
- ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ
- ํ์ด์ฌ ์ฒผ๋ฆฐ์ง
- ์ค๋ผํด
- Database
- Operating System
- ๋ฌ์คํธ
- ์ด์์ฒด์
- OS
- ์ฐ๋ถํฌ
- Rust
- ๋ฌ์คํธ ํ๋ก๊ทธ๋๋ฐ ๊ณต์ ๊ฐ์ด๋
- ์๊ณ ๋ฆฌ์ฆ
- java
- ์๋ฐ
- ํ์ด์ฌ
Archives
- Today
- Total
IT’s Portfolio
[Python] requests์ urllib ๋ณธ๋ฌธ
728x90
๋ฐ์ํ
๐ป Requests & urllib
requests
: ์ฌ์ฉ์ ์นํ์ ์ธ ๋ฌธ๋ฒ์ ์ฌ์ฉํ์ฌ ๋ค๋ฃจ๊ธฐ ์ฝ๊ณ ์์ ์ฑ์ด ๋ฐ์ด๋จurllib
: ํ์ด์ฌ ๊ธฐ๋ณธ ํจํค์ง
๐ Differences
- ์์ฒญ ์ ์์ฒญ ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์ฐจ์ด
- ๋ฐ์ดํฐ ์ ์ก ์
requests
๋dict
ํํ๋กurllib
์ ์ธ์ฝ๋ฉํ์ฌbinary
ํํ๋ก ์ ์ก requests
๋ ์์ฒญ ๋ฉ์๋(GET, POST)
๋ฅผ ๋ช ์,urllib
์ ๋ฐ์ดํฐ ์ฌ๋ถ์ ๋ฐ๋ผGET Req, POST Req
๊ตฌ๋ถ- ์๋ ํ์ด์ง ์์ฒญ ์
requests
๋ Error๋ฅผ ๋์ฐ์ง ์์ง๋ง,urllib
์ Error๋ฅผ ๋์
๐ก Requests
- GET ์์ฒญ:
get()
์ฌ์ฉ - Other
put()
delete()
head()
options()
- ์๋ต ์ํ:
status_code
๋ณ์ ํธ์ถ - ์๋ต ๋ด์ฉ ํ์ธ
content
๋ณ์ ํธ์ถ: ๋์ฝ๋ฉํ์ง ์์binary
ํํ์ ๋ฐ์ดํฐencoding
๋ณ์ ํธ์ถ: ์์ฒญ์์ ์ฌ์ฉ ์ค์ธ ์ธ์ฝ๋ฉ ๋ฐฉ์ ํ์ธ ๋ฐ ๋ณ๊ฒฝ ๊ฐ๋ฅtext
๋ณ์ ํธ์ถ: Requests ์๋ต ํค๋๋ฅผ ๋ณด๊ณ ํด๋น ๊ฐ์ฒด์ ์ธ์ฝ๋ฉ์ ์ถ์ธกํ์ฌ ํด๋น ์ธ์ฝ๋ฉ ๋ฐฉ์์ผ๋ก ๋์ฝ๋ฉํ ๋ฐ์ดํฐheaders
๋ณ์ ํธ์ถ: ์๋ต ํค๋ ํ์ธjson()
: ์๋ต ๋ฐ์ดํฐ๊ฐjson
ํ์์ด๋ฉดdict
ํ์์ผ๋ก ๋ถ๋ฌ์ด
๐ก urllib
- Python2
urlparse
=> Python3urllib.parse
- URL Handling module
1. urllib.request
- ๋ค์ด์ ์คํธ ์ธ์ฆ, ๋ฆฌ๋๋ ์
, ์ฟ ํค ๋ฑ๊ณผ ๊ฐ์ URL์ด๋ HTTP๋ฅผ ์ฌ๋ ๋ฐ ๋์์ด ๋๋ ํจ์์ ํด๋์ค ์ ์. ๊ฐ๋จํ๊ฒ ์น ํ์ด์ง ์์ฒญ ๋ฐ ๋ฐ์ดํฐ๋ฅผ ์ป์ ์ ์์
- Digest Access Authentication์ ๋ํ ๊ธ
.urlopen()
- String์ด๋ Request ๊ฐ์ฒด์ธ URL์ ์ด์ด์ค
urlopen()
์ url์ ์ธ์๋ก ์ง์ ๋๊ฒจ์ฃผ์ด๋ ๋๊ณ , Request ํด๋์ค์ URL์ ๋ฃ์ด ์์ฑ ํ ์ธ์๋ก ๋๊ฒจ์ฃผ์ด๋ ๋จ
- url ๋ฃ์ด์ ํธ์ถ ์ html ๋ฆฌํด
read()
๋ก ์ฝ์ ์ ์์ผ๋ฉฐ decode ํด์ฃผ์ด์ผ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ ์์
- String์ด๋ Request ๊ฐ์ฒด์ธ URL์ ์ด์ด์ค
- ์ํ ํ์ธ
- ๋ฐํ๋ ๊ฐ์ฒด์
status
๋ณ์ ์ฌ์ฉ
- ๋ฐํ๋ ๊ฐ์ฒด์
.urlretrieve()
- url์ด ๊ฐ๋ฆฌํค๋ ์ฃผ์์ ์ ๊ทผํ์ฌ ํด๋น ์์์ local์ ์ ์ฅ ๊ฐ๋ฅ
2. urllib.error
URLError
: ์๋ URLHTTPError
: ์ฌ์ดํธ ์๋ฒ์์ Access Block
3. urllib.parse
- URL๊ณผ Parameter๋ฅผ ๋ค๋ฃฐ ์ ์์
- ๊ฐ๋จํ ๋ฌธ์์ด ํ์ฑ ์์๋ ๋ณดํต ์ ๊ทํํ์์ ๋ง์ด ์ฌ์ฉ. ํ์ง๋ง ๋จ์ ํจํด์ ์ฝ์ ๋๋ parse ๋ชจ๋ ์ฌ์ฉ ์ ์ ์ฉ
.urlparse()
: url ํ์ฑ- ํ์ฑ ํ ํด๋น ๊ฐ์ฒด ๋ด์ ๋ณ์ ์ฌ์ฉ ์ ํด๋น ๊ฐ ๋ฆฌํด๋จ
parse_qs()
: ์ฌ์ฉ ์ ๋ฆฌํด ํ์ ์ดdict
Quote
: ์ธ์ฝ๋ฉ ์ฒ๋ฆฌ.quote_plus()
: ๊ณต๋ฐฑ +.quote()
: ๊ณต๋ฐฑ %20
728x90
๋ฐ์ํ
'Development Study > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] Generator (0) | 2022.11.30 |
---|---|
[Python] Iterator (0) | 2022.11.28 |
[Algorithm] Baekjoon - ๋ฐ๋ณต๋ฌธ ๋จ๊ณ (0) | 2022.10.12 |
[Python] ํ์ด์ฌ์ ๋ฌธ์์ด ํฌ๋ฉํ Ver.2 (0) | 2022.10.06 |
[Python] ๋นํธ ์ฐ์ฐ์ (0) | 2022.10.01 |
Comments