바뀜

948 바이트 추가됨 ,  2022년 4월 1일 (금) 20:07
4번째 줄: 4번째 줄:  
==보내기. input.==
 
==보내기. input.==
 
===기본적인 사용법===
 
===기본적인 사용법===
 +
요청을 보내면 객체 안에 데이터가 담긴다.
 
{| class="wikitable"
 
{| class="wikitable"
 
!의도
 
!의도
9번째 줄: 10번째 줄:  
|-
 
|-
 
|GET을 보낼 때
 
|GET을 보낼 때
|받을객체=requests.get(주소)
+
|받을객체 = requests.get("<nowiki>http://주소</nowiki>")
 
|-
 
|-
 
|POST를 보낼 때
 
|POST를 보낼 때
|받을객체=requests.post(주소)
+
|받을객체 = requests.post("<nowiki>http://주소</nowiki>")
 
|}
 
|}
 +
보통 받은 데이터는 바로 쓰지 못하고, <code>받을객체.test</code> 형태로 변환하여 사용한다.
 +
 +
응답을 response에 받는다면 내용을 보기 위해선 response.text로 볼 수 있다.
 +
 
===데이터와 함께 넘기기===
 
===데이터와 함께 넘기기===
 
{| class="wikitable"
 
{| class="wikitable"
117번째 줄: 122번째 줄:  
|
 
|
 
|}
 
|}
==HTTP==
  −
response= requests.get('[http://xn--9l4b19k/ http://주소]')
     −
응답을 response에 받는다.
+
=== 응답데이터 ===
 +
{| class="wikitable"
 +
!데이터
 +
!설명
 +
|-
 +
|응답.test
 +
|응답받은 내용을 text 형태의 데이터로 본다. 직접 보기 위해 사용.
 +
|-
 +
|응답.content
 +
|응답받은 내용을 바이너리 형태의 데이터로 본다. 파일로 다루기 위해 사용.
 +
|}
   −
내용을 보기 위해선 response.text로 볼 수 있다.
+
==HTTP==
 
===유의사항===
 
===유의사항===
 
헤더를 입력해야 전체 데이터를 무리없이 받아올 수 있다. 헤더가 없는 경우 어째서인지 전체 데이터를 받아오지 못한다;<syntaxhighlight lang="python">
 
헤더를 입력해야 전체 데이터를 무리없이 받아올 수 있다. 헤더가 없는 경우 어째서인지 전체 데이터를 받아오지 못한다;<syntaxhighlight lang="python">
149번째 줄: 162번째 줄:     
저장할 땐 XML을 다루는 것보단 JSON을 다루는 게 더 나을지도.
 
저장할 땐 XML을 다루는 것보단 JSON을 다루는 게 더 나을지도.
 +
 +
= 데이터 저장하기 =
 +
res.text가 일반 텍스트로 보는 거라면, res.content는 바이너리 형태의 데이터를 보여준다.
    
=에러 파악=
 
=에러 파악=
159번째 줄: 175번째 줄:  
|requests.exceptions.Timeout
 
|requests.exceptions.Timeout
 
|응답이 지연되거나 오지 않는 경우.
 
|응답이 지연되거나 오지 않는 경우.
 +
|-
 +
|json.decoder.JSONDecodeError: Extra data: ...
 +
|json.loads 를 사용할 때 데이터가 json형태가 아닌 경우.
 +
|-
 +
|doesn't match a supported version!
 +
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported
 +
|버전이 안맞을 경우. 아래 방법으로 업데이트 한다.
 +
pip install -U urllib3 requests
 
|}
 
|}
 
===웹 크롤링 팁===
 
===웹 크롤링 팁===
      
개발자도구의 Network 탭에서 통신의 결과를 볼 수 있는데, 내가 무언가를 클릭했을 때 어떤 데이터가 반환되는 건지 볼 수가 있다. 해당 요청을 우클릭>copy>copy link address 를 통해 주소를 복사하면 해당 반환을 얻는 주소를 알 수 있다.
 
개발자도구의 Network 탭에서 통신의 결과를 볼 수 있는데, 내가 무언가를 클릭했을 때 어떤 데이터가 반환되는 건지 볼 수가 있다. 해당 요청을 우클릭>copy>copy link address 를 통해 주소를 복사하면 해당 반환을 얻는 주소를 알 수 있다.
 
[[분류:라이브러리]]
 
[[분류:라이브러리]]