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 를 통해 주소를 복사하면 해당 반환을 얻는 주소를 알 수 있다. |
| [[분류:라이브러리]] | | [[분류:라이브러리]] |