"Urllib"의 두 판 사이의 차이

Pywiki
둘러보기로 가기 검색하러 가기
6번째 줄: 6번째 줄:
 
== urllib.request ==
 
== urllib.request ==
 
웹사이트에 있는 데이터에 접근하는 기능을 제공.
 
웹사이트에 있는 데이터에 접근하는 기능을 제공.
 +
 +
=== 요청 ===
 +
{| class="wikitable"
 +
!의도
 +
!설명
 +
!방법
 +
|-
 +
|매개변수를 담아 요청
 +
|검색어 등 매개변수를 담아 요청하는 방법
 +
매개변수는 사전 형태로 담는다.
 +
 +
 +
parse는 값들 사이에 자동으로 &을 넣어서 타이핑의 수고를 줄여준다.
 +
|<syntaxhighlight lang="python">
 +
import urllib.parse
 +
import urllib.request
 +
 +
api = "http://주소"
 +
values = {'변수1':값, '변수2':값2, ...}
 +
 +
params = urllib.parse.urlencode(values)  # 해당 값들을 담아 url 코드로 바꾼다.(한국어를 사용할 때 필수)
 +
url = api + "?" + params  # 최종적으로 요청할 주소를 만든다.
 +
data = urllib.request.urlopen(url).read()
 +
test = data.decode("utf-8")  # utf-8로 디코드 해서 읽을 수 있는 데이터로 만든다.
 +
</syntaxhighlight>
 +
|}
 +
 +
=== 파일 관련 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
!의도
 
!의도

2021년 4월 3일 (토) 11:26 판

1 개요

URL을 다루는 모듈을 모아놓은 패키지.

2 모듈

2.1 urllib.request

웹사이트에 있는 데이터에 접근하는 기능을 제공.

2.1.1 요청

의도 설명 방법
매개변수를 담아 요청 검색어 등 매개변수를 담아 요청하는 방법

매개변수는 사전 형태로 담는다.


parse는 값들 사이에 자동으로 &을 넣어서 타이핑의 수고를 줄여준다.

import urllib.parse
import urllib.request

api = "http://주소"
values = {'변수1':, '변수2':값2, ...}

params = urllib.parse.urlencode(values)  # 해당 값들을 담아 url 코드로 바꾼다.(한국어를 사용할 때 필수)
url = api + "?" + params  # 최종적으로 요청할 주소를 만든다.
data = urllib.request.urlopen(url).read()
test = data.decode("utf-8")  # utf-8로 디코드 해서 읽을 수 있는 데이터로 만든다.

2.1.2 파일 관련

의도 설명 방법
파일 다운 http://........그림.png 형태의 파일주소를 통해 저장한다. urllib.request.urlretrieve(파일주소, 저장경로)
변수에 올리기 파일을 직접 다운받는 게 아니라 변수에 올려 다룰 수 있다. 변수에 저장한 후, 다음과 같이 저장할 수 있다.
with open(저장경로, mode="wb") as f:
    f.write(변수)
mode의 w는 읽기, b는 바이너리를 의미한다.
변수 = urllib.request.urlopen(파일주소).read()

#urlopen으로 URL리소스를 열고, read로 데이터를 읽는다.