Allen's 데이터 맛집

도커와 함께하는 데이터 수집 본문

Programming/Docker

도커와 함께하는 데이터 수집

Allen93 2023. 8. 20. 20:11

도커 환경을 사용하여 데이터를 수집해 보겠습니다.

 

도커에서 아래의 명령어를 실행시키면, 도커에서 마운트 한 폴더를 파이썬 코드를 실행할 비주얼 스튜디오에서 폴더를 같게 합니다.

docker run -i -t -v /c/Users/Vector/sample:/sample mlearn:init /bin/bash

예) C:\Users\Vector\sample

 

 

파일을 다운로드 하는 코드

import urllib.request 

url ='http://uta.pw/shodou/img/28/214.png'
savename = 'test.png'

# urlretrieve 는 파일을 다운받을 수 있음
urllib.request.urlretrieve(url, savename)  #(어떤 url에 있는것을, 어디에 저장할것인가)

 

도커에서, ls -l명령어를 통해 우리가 생성한 코드가 있는 것을 확인하고 도커 내에서 파이썬 명령어를 통해서 코드를 실행시키면 코드의 내용처럼 처럼 파일을 다운로드 합니다.

그리고 다시 ls -l 상태명령어를 통해 새로운 png파일이 생긴 것을 확인 가능합니다.

 

 

 

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('저장되었습니다')

# urlretrieve() 는 바로 파일을 다운받을 수 있음
#urllib.request.urlretrieve(url, savename)  #(어떤 url에 있는것을, 어디에 저장할것인가)

 

C:\Users\Vector\sample

 

아래에서 원하는 url 입력 후 mem을 출력하는 것을 하고 cmd 도커에서 해당 파일을 실행시키면 잘 출력되는 것 확인 가능합니다.

import urllib.request 

url ='https://www.google.com/'

mem = urllib.request.urlopen(url).read()
print(mem)

print(mem.decode('utf-8')) 을 통해 바로 디코드 가능합니다.

 

import urllib.request 

url ='https://api.aoikujira.com/ip/ini'

mem = urllib.request.urlopen(url).read()
print(mem.decode('utf-8'))