우선 간단한 몸풀기로,
▶파이썬을 이용해서 파일을 저장&실행시키는 방법
1. C 드라이브에 ‘pySrc’ 파일 생성
2. 그 안에 메모장을 생성해서 “헬로 파이썬” 적은 후, 이름을 hello.py 로 지정. (파이썬으로 저장할 때 확장자명은 .py)
3. 명령 프롬프트 창에서 ‘cd pySrc’를 쳐서 파일 내부로 이동한다.
4. ‘python hello.py’ 명령어로 hello.py파일을 부르면 내용이 출력된다.
이제, 본격적으로 파이썬을 이용한 스크레이핑을 해보겠다!
▶스크레이핑 ; 웹상에서 데이터를 추출하기위한 용도.
▶웹사이트에서 데이터를 추출하기 위해 사용하는 라이브러리 ; URL 라이브러리 (urllib)
▶urllib ; url을 다루는 모듈을 모아 놓은 패키지
*모듈 : 일종의 함수(기능,명령)들을 모아놓은 것 (함수와 비슷하게 어디서나 불러올 수 있음)
▶웹서비스 프로토콜 (HTTP), 파일 전송하는 프로토콜 (FTP) 등을 가지고 다운로드 할 수 있음.
▶urllib 안에 request 모듈 ; 웹사이트에 있는 데이터에 접근하는 기능을 제공하는 모듈 +요청처리를 지원하는 기능
->웹사이트에 있는 어떤 데이터를 요청할 때 request를 이용함.
(1) request 모듈 안에 urlretrieve() 함수 ; 직접 파일을 다운로드할 수 있음.
Ex) 네이버 안에있는 c.jpg 파일을 다운받는다면 ;
a. 변수에 경로 지정 url = "http://www.naver.com/a/b/c.jpg"
b. 변수에 파일 이름 지정 cc = test.png (실제는 c.jpg지만 test.png로 저장할 것임)
c. urlretrieve 함수를 이용해서 다운받음. urlretrieve(url, cc) 이런 식으로 함수 호출.
이제 진짜 실습을 해보자! <다음 로고 이미지 저장 실습>
1. 다음 로고에서 오른쪽 버튼 - '이미지 주소 복사' 클릭
2. 새 메모장 열어서 명령어 적기.
# 웹상의 정보를 추출하기 위한 라이브러리 불러오기
# urllib 라이브러리 : Http나 FTP를 사용해서 데이터를 다운로드할 때 사용하는 라이브러리
# urllib : URL을 다루는 모듈을 모아놓은 패키지
# utllib패키지에 있는 모듈 중에서 request모듈을 이용하는데 request 모듈 안에 urlretrieve()함수를 사용한다.
# 파이썬에서 라이브러리의 모듈을 불러올때는 import명령을 사용한다.
import urllib.request # [라이브러리.모듈] 로 구분하여 라이브러리 안에 있는 모듈을 불러오겠다는 의미.
url = "https://t1.daumcdn.net/daumtop_chanel/op/20200723055344399.png" # 경로지정
imgName="C:\pySrc\daum.png" # 이름 지정
urllib.request.urlretrieve(url, imgName) #urlretrieve(경로URL, 저장할 파일경로) 함수를 이용해서 다운로드
print("다운로드 완료되었습니다")
◦ urlretrieve() 함수는 request 모듈안에 있기 때문에 우선 모듈을 불러와야함 -> import urllib.request
◦ 이미지 주소(경로)를 변수 url에 저장
◦ 20200723055344399.png 대신 daum.png로 저장하도록 하면서 그것을 변수 imgName에 지정
◦ ulretrieve() 함수에는 인자 2개(경로URL, 저장 파일 경로)가 필요함.
◦ 함수를 호출할 때는 경로로 호출해야함. urllib (안에) . request (안에) . urlretrieve(url, imgName)
3. 메모장을 ex01.py 로 저장.
파일을 만들었으니, 이제 cmd에서 이 파일을 불러오면 된다.
4. cmd에서 'cd pySrc' 명령어로 파일내부로 이동한 후, 'dir/w'를 치면 'ex01.py'가 생성된것을 볼 수 있음.
5. 'python ex01.py'로 다운로드 완료.
'dir/w'명령어를 쳐서 확인해볼 수도 있고 윈도우 상에서도 확인 가능하다.
다음시간에는 (2) request 모듈 안에 urlopen()함수 로 찾아오겠다!
'Python' 카테고리의 다른 글
Beautiful Soup 사용하여 html 분석하기 (0) | 2020.09.07 |
---|---|
기상청 날씨 데이터 cmd창에서 직접 불러오기 (0) | 2020.09.05 |
기상청 날씨 데이터불러오기 (0) | 2020.09.05 |
파이썬을 이용한 웹데이터 다운로드하기2_urlopen() 함수 (0) | 2020.08.28 |
머신러닝 개념과 파이썬 기초 문법 (0) | 2020.08.26 |