안녕하세요. 오늘은 파이썬을 활용하여 웹 사이트에 있는 데이터를 추출 해볼까 합니다.

 

우선 데이터를 받기 위해서 "urllib 라이브러리"를 사용할 예정입니다.

이 라이브러리를 이용하면 HTTP 또는 FTP를 사용해 데이터를 다운로드 할 수 있습니다.

 

urllib은 URL을 다루는 모듈을 모아놓은 패키지라고 할 수 있습니다.

 

그 중에서도 urllib.request 모듈은 웹 사이트에 있는 데이터에 접근하는 기능을 제공합니다.

 

데이터를 다운로드 하기 전에 데이터 url을 알아야 하는데요.

 

저는 데이터를 전부 받으면 용량이 너무 크기 때문에 간략히 네이버 로고정도만 다운로드를 할 예정입니다.

 

네이버 로고를 받기 위해서는,

 

1.  크롬 기준으로 오른쪽 위의 점 3개를 클릭 후 도구 더보기 -> 개발자 도구를 클릭하여 들어간다.

2. 빨간색 동그라미가 쳐진 부분을 클릭네이버 로고를 클릭해준다.

3. url을 복사한다.

이제 url을 알았으니 본격적으로 파이썬을 활용하여 이미지를 받도록 하겠습니다.

 

1. 파일 내 바로 저장하기

# 라이브러르 읽어 들이기
import urllib.request

 

# 원하는 url을 입력
url = "http://s.pastatic.net/static/www/mobile/edit/2020/1222/mobile_223827482666.png"


# 저장하고자 하는 파일 이름 입력
savename = "naver.png"

 

# 다운로드 실행(urlretrieve을 활용하여 바로 저장)
urllib.request.urlretrieve(url, savename)

 

이와 같이 코딩을 해서 실행해주면 다음과 같이 naver란 이름의 PNG파일이 저장됩니다.

 

2. 파이썬 메모리 위에 데이터를 올린 후 파일에 저장

# 라이브러르 읽어 들이기
import urllib.request

 

# 원하는 url을 입력
url = "http://www.kacn.org/image/main1.jpg"

 

# 저장하고자 하는 파일 이름 입력

savename = "natural.png"

 

# urlopen을 이용하여 메모리 위에 데이터를 올려놓음
natural_pic = urllib.request.urlopen(url).read()

 

# mode를 wb로하여 파일로 저장 (wb에서 w는 쓰기(write), b는 바이너리모드(binary를 의미))
with open(savename, mode="wb") as f:
    f.write(natural_pic)

이와 같이 코딩을 해서 실행해주면 다음과 같이 natural란 이름의 PNG파일이 저장됩니다.

 

 

만약 원하는 데이터가 바로 추출할 수 있다면 첫 번째 방법으로 처리가 가능하지만,

 

대부분의 데이터는 가공할 필요가 있기 때문에 2번째 방법이 더 많이 쓰이고 있습니다.

 

이상 파이썬을 활용하여 데이터를 가져오는 방법에 대하여 설명하였습니다.

'AI > 데이터 수집' 카테고리의 다른 글

Selenium을 활용한 로그인  (0) 2021.02.02
requests 모듈의 메서드  (0) 2021.01.31
requests를 사용하여 로그인  (0) 2021.01.31
상대경로 및 절대경로  (0) 2021.01.26
CSS 선택자  (0) 2021.01.25

+ Recent posts