๐ฅ requests ๋ผ์ด๋ธ๋ฌ๋ฆฌ
requests๋ ํ์ด์ฌ์ผ๋ก HTTP ํต์ (์์ฒญ ↔ ์๋ต)์ด ํ์ํ ํ๋ก๊ทธ๋จ์ ์์ฑํ ๋ ๋ง์ด ์ฌ์ฉ๋๋ค.
๐ ํจํค์ง ์ค์น
pip install requests
๐ ์๋ต ์ํ
- ์ํ์ฝ๋๋ฅผ ํตํด ์์ฒญ์ด ์ ์ฒ๋ฆฌ๋์๋์ง ํ์ธํ ์ ์๋ค.
- ์๋ต ๊ฐ์ฒด์ status_code ์์ฑ์ ํตํด ์๋ต ์ํ๋ฅผ ์ป์ ์ ์๋ค.
import requests
response = requests.get("https://jsonplaceholder.typicode.com/users/1")
print(response.status_code) # 200
url "https://jsonplaceholder.typicode.com/users/1"๋ก get ์์ฒญ์ ํ๊ณ , response๋ก ์๋ต ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๋๋ค.
response๊ฐ ์๋ต ๊ฐ์ฒด์ด๋ค.
๐ ์๋ต ์ฝ์ด์ค๊ธฐ
- content ์์ฑ์ ํตํด ๋ฐ์ด๋๋ฆฌ ์๋ฌธ์ ์ป์ ์ ์๋ค.
import requests
response = requests.get("https://jsonplaceholder.typicode.com/users/1")
rcontent = response.content
print(rcontent)
# b'{\n "id": 1,\n "name": "Leanne Graham",\n "username": "Bret",\n "email": "Sincere@april.biz",\n "address": {\n "street": "Kulas Light",\n "suite": "Apt. 556",\n "city": "Gwenborough",\n "zipcode": "92998-3874",\n "geo": {\n "lat": "-37.3159",\n "lng": "81.1496"\n }\n },\n "phone": "1-770-736-8031 x56442",\n "website": "hildegard.org",\n "company": {\n "name": "Romaguera-Crona",\n "catchPhrase": "Multi-layered client-server neural-net",\n "bs": "harness real-time e-markets"\n }\n}'
- text ์์ฑ์ ํตํด UTF-8๋ก ์ธ์ฝ๋ฉ๋ ๋ฌธ์์ด์ ์ป์ ์ ์๋ค.
import requests
response = requests.get("https://jsonplaceholder.typicode.com/users/1")
rstring = response.text
print(rstring)
- ์๋ต ๊ฐ์ฒด๊ฐ json ํฌ๋งท์ด๋ผ๋ฉด json()ํจ์๋ฅผ ์ด์ฉํ์ฌ ์ฌ์ ํํ๋ก ์๋ต ๊ฐ์ฒด๋ฅผ ์ป์ ์ ์๋ค.
import requests
response = requests.get("https://jsonplaceholder.typicode.com/users/1")
rjson = response.json()
print(rjson)
# {'id': 1, 'name': 'Leanne Graham', 'username': 'Bret', 'email': 'Sincere@april.biz', 'address': {'street': 'Kulas Light', 'suite': 'Apt. 556', 'city': 'Gwenborough', 'zipcode': '92998-3874', 'geo': {'lat': '-37.3159', 'lng': '81.1496'}}, 'phone': '1-770-736-8031 x56442', 'website': 'hildegard.org', 'company': {'name': 'Romaguera-Crona', 'catchPhrase': 'Multi-layered client-server neural-net', 'bs': 'harness real-time e-markets'}}
print(rjson['username']) # Bret
Source
'Language > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] csvํ์ผ data๋ค MySQL table์ insert ํ๊ธฐ - pymysql, csv (0) | 2022.09.26 |
---|---|
[Python] ํด๋์ค (0) | 2022.07.14 |
[Python] ์ ์ถ๋ ฅ (0) | 2022.06.22 |
[Python] ๋ด์ฅํจ์ (0) | 2022.06.17 |
[Python] ๊ธฐ๋ณธ ๋ฌธ๋ฒ - ํจ์ (0) | 2022.06.15 |