상세 컨텐츠

본문 제목

[PYTHON] requests 모듈 이용한 HTTP GET/POST 요청

PYTHON/기본

by ranlan 2021. 6. 28. 11:46

본문

728x90

 

라이브러리

import requests

GET

requests.get(url)

- 파리미터 추가

baseurl = "https://.."
param1 = "..." 
param2 = "..." 

url = baseurl + param1 + "&param2=" + param2
requests.get(url)

POST

data = {'data1': 'value1', 'data2': 'value2', ... }
requests.post(url, data=data)

- 헤더, 파라미터, 쿠키 정보 추가

headers = {헤더 정보} # 헤더
params = {'param1': 'value1', 'param2': 'value'} # 파라미터
cookies = {'session_id': '...'} # 쿠키

requests.get(url, headers=headers, params=params, cookies=cookies)

- timeout 제어

requets.get(url=url, timeout=1) # 1초뒤 timeout exception 발생

응답 객체

response.request # 내가 보낸 request 객체
response.status_code # 응답코드
response.raise_for_status() # 응답코드 200이 아닐경우 에러 발생
response.url # 요청보낸 url
response.text # text형식으로 응답 확인
response.json() # json 응답일 경우 dict 형태로 변환

BeautifulSoup

from bs4 import BeautifulSoup 

response = requests.get(url, headers=headers, params=params, cookies=cookies).content
BeautifulSoup(response, 'html.parser')

Json

import json

result = requests.post(url, data=data).text
result = json.loads(result) # json

 

 

++) selenium 이용

 

라이브러리

from selenium import webdriver

가상 브라우저 준비

driver = webdriver.Chrome(executable_path='(driver) chromedriver.exe') 

GET

driver.get(url)

[참고] https://tribal1012.tistory.com/317

 

[selenium] Selenium GET/POST method 코드 예제

테스트 환경 Ubuntu 18.04 Python 2.7 사전 설정 sudo pip install selenium sudo pip install selenium-requests Chrome 및 Chrome Webdriver 설치 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21..

tribal1012.tistory.com

 

728x90

관련글 더보기

댓글 영역