[Web Crawling] urlOpen과 urlretrieve
Lpla
·2020. 6. 24. 00:58
관련 정보 : https://docs.python.org/3.0/library/urllib.request.html
urllib.request.urlretrieve를 이용한 다운로드
import urllib.request
url = "http://uta.pw/shodou/img/28/214.png"
savename = "test.png"
urllib.request.urlretrieve(url, savename)
print("저장되었습니다.")
urlretrieve 함수를 통해 바로 파일(test.png)에 자료를 입력할 수 있습니다.
urllib.request.urlopen을 이용한 다운로드
import urllib.request
url = "http://uta.pw/shodou/img/28/214.png"
savename = "test.png"
mem=urllib.request.urlopen(url).read()
with open(savename, mode="wb") as f:
f.write(mem)
print("저장되었습니다.")
import urllib.request
import는 파이썬 라이브러리를 호출할 때 사용되며, 여기서는 urllib 페키지 내부에 있는 reqeust 모듈를 호출합니다.
mode="wb"
바이너리(b)형태로 쓰기(w)
파일에 적접 저장하는 urlretrieve( )함수와 달리 urlopen 함수는 읽어들인 데이터를 임의의 변수에 저장하여 처리할 수 있습니다.
import urllib.request
url = "http://api.aoikujira.com/ip/ini"
res = urllib.request.urlopen(url)
data = res.read()
text = data.decode("utf-8")
print(text)
urllib.request 모듈을 읽어들입니다. 이어서 request.urlopen( ) 메서드를 호출합니다. 그리고 read( ) 메서드를 사용하여 데이터를 읽어 들입니다. read( ) 메서드로 읽어들인 데이터는 바이너리 데이터 입니다. decode( ) 메서드를 사용해 바이너리를 문자열로 변환합니다. 문자열로 변환 후에는 print( ) 메서드로 화면출력합니다.