"Urllib"의 두 판 사이의 차이
둘러보기로 가기
검색하러 가기
(사용자 2명의 중간 판 4개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
== 개요 == | == 개요 == | ||
− | URL을 다루는 모듈을 모아놓은 패키지. | + | URL을 다루는 모듈을 모아놓은 패키지. 다양한 모듈을 포함하고 있다. |
= 모듈 = | = 모듈 = | ||
7번째 줄: | 7번째 줄: | ||
웹사이트에 있는 데이터에 접근하는 기능을 제공. | 웹사이트에 있는 데이터에 접근하는 기능을 제공. | ||
− | === 요청 === | + | === 요청(클라이언트 정보 출력) === |
− | + | <syntaxhighlight lang="python"> | |
− | + | import urllib.request | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | url = "http://..." # FTP의 리소스를 받아보고 싶다면 "ftp://주소" 형태로 입력하면 된다. | |
− | + | res = urllib.request.urlopen(url) # 응답을 받는다. | |
− | + | data = res.read() # 데이터를 읽는다.(바이너리 형태) | |
− | + | text = data.decode("utf-8") # utf-8을 이용하여 읽을 수 있는 형태로 변환한다. | |
− | + | print(test) # 출력. | |
− | + | </syntaxhighlight> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== urllib.parse == | == urllib.parse == | ||
68번째 줄: | 43번째 줄: | ||
url = api + "?" + params # 최종적으로 요청할 주소를 만든다. | url = api + "?" + params # 최종적으로 요청할 주소를 만든다. | ||
data = urllib.request.urlopen(url).read() | data = urllib.request.urlopen(url).read() | ||
− | + | text = data.decode("utf-8") # utf-8로 디코드 해서 읽을 수 있는 데이터로 만든다. | |
</syntaxhighlight> | </syntaxhighlight> | ||
|- | |- | ||
83번째 줄: | 58번째 줄: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
|} | |} | ||
− | [[분류:라이브러리]] | + | [[분류:웹 라이브러리]] |
2021년 4월 20일 (화) 19:41 기준 최신판
1 개요[편집 | 원본 편집]
URL을 다루는 모듈을 모아놓은 패키지. 다양한 모듈을 포함하고 있다.
2 모듈[편집 | 원본 편집]
2.1 urllib.request[편집 | 원본 편집]
웹사이트에 있는 데이터에 접근하는 기능을 제공.
2.1.1 요청(클라이언트 정보 출력)[편집 | 원본 편집]
import urllib.request
url = "http://..." # FTP의 리소스를 받아보고 싶다면 "ftp://주소" 형태로 입력하면 된다.
res = urllib.request.urlopen(url) # 응답을 받는다.
data = res.read() # 데이터를 읽는다.(바이너리 형태)
text = data.decode("utf-8") # utf-8을 이용하여 읽을 수 있는 형태로 변환한다.
print(test) # 출력.
2.2 urllib.parse[편집 | 원본 편집]
url 관련 조작을 위한 모듈.
딱히 굉장한 기능이라기보단.. 귀찮은 작업들을 줄여주는 역할.
의도 | 설명 | 방법 |
---|---|---|
매개변수를 담아 요청 | 검색어 등 매개변수를 담아 요청하는 방법
매개변수는 사전 형태로 담는다.
|
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()
text = data.decode("utf-8") # utf-8로 디코드 해서 읽을 수 있는 데이터로 만든다.
|
상대경로 처리 | href 속성에 링크를 상대경로로 해두는 경우가 많다.
ex) "/home/target.png" 이 링크에 제대로 접근하려면 상대경로를 절대경로로 변환해주어야 한다. |
from urllib.parse import urljoin
base = "http://도메인 등의 주소"
url = urljoin(base, "상대경로") # 두 주소를 이어붙여준다.
|