이 포스팅은 서적 '머신러닝, 딥러닝 실전개발 입문'을 참고한 포스팅입니다.
이전 포스팅에서 우리는 머신러닝을 하기 위한 양분 데이터의 중요성을 알아보았다.
그렇다면 웹상에 돌아다니는 무수히 많은 정보를 얻어야 우리는 머신러닝을 구현하지 않을까?
실제로 웹 상의 데이터를 구하는 방법을 작성하겠다.
파이썬에서는 웹 사이트에 있는 데이터를 추출하기 위해 "urllib 라이브러리"를 사용한다.
해당 라이브러리를 이용하면 HTTP 또는 FTP를 사용해 데이터를 다운로드 할 수 있다.
그렇다면 웹상의 이미지를 실제로 추출하여 보자.
urlretrieve( )함수를 이용하여 파일을 다운로드 할 수있다.
이때 첫 번째 매개변수에는 URL이, 두 번째 매개변수에는 저장할 파일의 경로를 지정한다.
다음과 같이 간단한 코드로 PNG파일을 다운로드 할 수 있다.
그렇다면 request.urlretrieve( )함수를 이용하여 파일에 곧바로 저장하지 않고,
해당 데이터를 파이썬 메모리 위에(변수에 저장해서 활용할 수 있게) 올린 후 해당 파일을 저장해보겠다.
이전과 달리 request.urlretrieve( )함수를 사용하지 않고, request.urlopen( ) 함수를 사용하는 것을 확인할 수 있다.
지금까지는 특정 파일만 다운로드 하였는데,
html 홈페이지에 올라온 데이터를 한번 다운로드하여 보겠다.
정상적으로 웹페이지에 올라온 데이터를 다운로드 하는 것을 확인할 수 있다.
그렇다면 URL에 매개변수를 추가해 요청을 전송하는 방법 또한 할 수 있을까?
물론 가능하다.
예제는 기상청의 RSS 서비스를 사용하여 서울/경기도의 날씨를 정보 웹페이지를 다운로드 하여 보겠다.
정상적으로 추출되는 것을 확인 할 수 있다.
그렇다면 기능을 확장하여 동적으로 다른 지역의 정보를 알아내는 코드를 보이겠다.
'머신러닝(Machine Learning) > 실무' 카테고리의 다른 글
랜덤 포레스트를 이용한 식용 가능한 버섯 구분하기 (0) | 2018.01.10 |
---|---|
문장의 해당 언어 판별하기(그래프 분석) (0) | 2018.01.09 |
문장의 해당 언어 판별하기 (0) | 2018.01.09 |
머신러닝의 양분, 빅데이터(BigData)와 활용 (0) | 2018.01.05 |