13번째 줄: |
13번째 줄: |
| !방법 | | !방법 |
| |- | | |- |
− | |매개변수를 담아 요청 | + | | |
− | |검색어 등 매개변수를 담아 요청하는 방법 | + | | |
− | 매개변수는 사전 형태로 담는다.
| + | | |
− | | |
− | | |
− | 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>
| |
| |} | | |} |
| | | |
56번째 줄: |
41번째 줄: |
| | | | | |
| | | | | |
| + | |} |
| + | |
| + | == urllib.parse == |
| + | url 관련 조작을 위한 모듈. |
| + | |
| + | 딱히 굉장한 기능이라기보단.. 귀찮은 작업들을 줄여주는 역할. |
| + | {| 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> |
| + | |- |
| + | |상대경로 처리 |
| + | |href 속성에 링크를 상대경로로 해두는 경우가 많다. |
| + | ex) "/home/target.png" |
| + | |
| + | 이 링크에 제대로 접근하려면 상대경로를 절대경로로 변환해주어야 한다. |
| + | |<syntaxhighlight lang="python"> |
| + | from urllib.parse import urljoin |
| + | |
| + | base = "http://도메인 등의 주소" |
| + | url = urljoin(base, "상대경로") # 두 주소를 이어붙여준다. |
| + | </syntaxhighlight> |
| |} | | |} |
| [[분류:라이브러리]] | | [[분류:라이브러리]] |