[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( ) 메서드로 화면출력합니다.

 

 

출처 : https://bable.tistory.com/796

반응형