파이썬 으로 크롤링 작업을 완료후 결과 를 활용하는 방법은 여러가지 가 있습니다.

코드를 작성하고 결과 를 확인 하는 걸로 끝나는경우도 있고 결과 내용을 디비 나 파일로 저장하는 방법도 있습니다.


그 이외에 여러 방법이 있겠으나 많이 이용되는 파일 저장과 디비 저장 에 대해 알아보려 합니다.


파이썬 을 이용한 크롤링 방법은 이전 포스팅 을 참고 해 주세요.



[파이썬|크롤링] 파이썬 으로 원하는 웹페이지 크롤링 예제.

http://shinrip.tistory.com/4


위의 포스팅 결과 를 가지고 활용해 보겠습니다.



1. 파일저장.

결과 내용을 파일 로 저장 하는 코드 입니다.

f = open("worldgold_report.txt","a")

옵션 부분의 a는 기존 파일에 내용을 추가 할때 사용합니다.

w : 파일에 내용을 작성합니다.(기존 내용이 있을경우 삭제 합니다.)

r : 파일에 내용을 불러옵니다.


f.write(new_text)

new_text 변수 의 내용을 저장합니다.


파일이 없을경우 새로 생성 합니다.

특정 폴더 지정을 원할 경우 파일명 부분에 특정폴더를 추가합니다.


참고.)

파일을 열때 with명령 을 사용할 경우 자동으로 close가 실행 됩니다.

두코드 모두 결과는 같습니다.





2. 디비저장.

다른 언어 에서 디비연결을 해보셨다면 명령어만 다를뿐 똑같습니다.

디비연결 모듈 을 import 하고 연결후에 insert 해주면 됩니다.

다른언어를 사용안해 봤다고 해도 코드를 보면 바로 이해 할 수 있습니다.





여기까지 파이썬으로 크롤링한 데이터를 활용하는 방법을 간단히 알아봤습니다.

파이썬 을 이용해서 원하는 웹페이지 를 크롤링 하는 방법을 포스팅 합니다.

강좌 라 하기엔 거창 하고 사용법을 알수있는 예제 라 생각합니다.


파이썬 이 처음이라면 이전 포스팅 내용이나 다른글 을 먼저 보시는게 도움이 될 수 있습니다.



파이썬 실무위한 기본사용법.(모듈,크롤링,exe제작.)

http://shinrip.tistory.com/1


윈도우 파이썬 모듈 설치 방법. (특정프로그램 설치 없이 기본프로그램 활용.)

http://shinrip.tistory.com/3



특별한 외부프로그램 없이 기본적인 윈도우 프로그램 으로 파이썬 을 사용합니다.


사용프로그램 : powershell , 메모장 또는 editplus , 브라우저.


1. 크롤링 할 웹페이지 확인.

크롤링 하고싶은 웹페이지 확인 합니다.

(특정페이지, 포털 검색 결과 등 의 원하는 웹페이지 를 준비합니다.)



예제 를 위해 선택한 웹페이지 는 국제금시세 페이지 입니다.

http://info.finance.naver.com/marketindex/worldGoldDetail.nhn?marketindexCd=CMDT_GC&fdtc=2


해당 웹페이지 에서 원하는 데이터가 있는 곳을 확인합니다.



F12 나 페이지 소스 보기(마우스 우클릭) 를 통해 해당 페이지 의 html정보를 확인 합니다.

검색 등 을 활용해 원하는 데이터가 있는 곳의 html정보 를 확인합니다.



코드를 보면 원하는 데이터가 div 에 section_aside 라는 class 안에 존재합니다.

그리고 그안에 a 와 td 에 필요한 정보가 있습니다.



여기까지 하면 데이터 확인 은 끝납니다.

(원하는 페이지 에 따라 크롤링 난이도 는 달라집니다.)



2. 크롤링 파일 제작.

이제 본격적으로 크롤링 할 코드를 작성합니다.

케릭터셋 을 지정하고 필요한 모듈을 import합니다.

원하는페이지 를 설정하고 requests 로 연결합니다.

연결된 페이지를 BeautifulSoup 를 이용해서 html 코드를 뽑아옵니다.

뽑아온 데이터를 확인 합니다.



결과를 보면 웹페이지 소스 에서 봤던 html 이 제대로 들어왔습니다.

여기서 원하는 내용만 뽑아냅니다.

(크롤링 의 가장 중요한 부분입니다. 여러가지 방법이 존재하며 웹페이지 설정에 따라 난이도 도 차이납니다.)


소스코드에서 확인했던 section_aside class 의 내용만 가져옵니다.

이 위까지는 파이썬 크롤링 코드는 거의 비슷합니다.

원하는 url 로 접속하고 html 을 뽑아 오는 겁니다.

위에서 말했든 원하는 데이터를 가져오는 부분에서 크롤링 의 난이도, 완성도 가 차이납니다.


뽑아온 html내용을 보면 div 안의 table 안에서 원하는 파트의 내용들이 tr로 반복됩니다.

그럼 tr의 내용을 반복해서 가져오도록 코드 를 작성합니다.

그리고 tr안에서 원하는 내용은 a와 td안에 있습니다.

이걸 간단히 반복하며 뽑아오도록 코드를 작성합니다.




출력내용을 보면 html 코드가 함께 나와서 활용하기 불편합니다.

그래서 텍스트 내용만 뽑아내고 원하는 부분을 추가 추출 해서 코드를 마무리 합니다.

추출한 내용을 변수에 저장하고 해당 내용을 원하는 방식으로 출력합니다.





3. 마무리.

간단한 파이썬 크롤링 을 제작 보았습니다.

여기서 사용된 내용은 필요한 내용만 간단히 작성했던 이전 포스팅 에서 확인 가능합니다.


파이썬 크롤링 제작 간략 요약.)

간단히 요약 하자면.

- 파이썬 설치.

- 필요한 모듈 설치.

- 가져올 웹페이지 확인.

- 코드작성.

- 다듬기.

정도로 요약 할수 있습니다.


사용된 코드는.

.text - 해당 내용의 text부분만 추출합니다.

.strip() - 앞뒤 공백을 제거합니다.

side_section.find_all("a") - side_section 의 내용중 a 태그를 가진 내용을 전부 추출합니다.




간단한 코드 사용으로 크롤링 하는 방법 입니다.

해당 내용을 디비에 저장하거나 파일로 저장해서 활용할수 있습니다.

윈도우 파이썬 모듈 설치 방법. (특정프로그램 설치 없이 기본프로그램 활용)


윈도우 파이썬 모듈 설치 방법.

사용 버전 : 파이썬 3.6.X

 

1. pip 를 이용한 설치.
2. 수동설치.


1. pip를 이용한 설치. (online 설치)
    윈도우 의 cmd 나 powershell 을 이용해서 외부 프로그램 없이 설치 가능합니다.

 

 

cmd 나 powershell 을 실행후.

입력창에 pip install 모듈명 을 입력하면 모듈서버 에 접속,검색 후 자동 설치 합니다.
예) pip install bs4
많이 사용되는 BeautifulSoup 모듈을 설치합니다.

 

 

(위 이미지 에선 requests 와 bs4 가 이미 설치 되어있어서 해당 메시지 를 출력합니다.)

(설치 관련 예 를 위해 mapbox 라는 패키지를 설치 하는 모습입니다.)


오류관련.)
파이썬 사용시 여러가지로 관련 된 부분으로 path 관련 문제일 경우, 파이썬 설치후 path 설정 을 안했다면,

내컴퓨터 - 속성 - 고급 시스템 설정 - 고급 - 환경변수 - PATH.

 


에 파이썬 설치 경로 를 등록 해 줍니다.
C:\Users\Administrator\AppData\Local\Programs\Python\Python3xx
 
패키지 설치 에 필요한 pip 명령 을 어디서든 사용하기 위해선 scripts 경로 도 등록 합니다.
C:\Users\Administrator\AppData\Local\Programs\Python\Python3xx\Scripts


2. 수동설치. (offline 가능)
    파이썬 홈페이지 에서 원하는 패키지를 다운로드 합니다.
    또는 구글 이나 다른 경로 를 통해서 파일을 다운받습니다.
    (압축파일 이나 .whl 등)
    https://pypi.python.org/pypi

 

2-1. 압축풀어 직접 설치.
    다운받은 파일의 압축을 풀고 cmd 나 powershell 에서 명령어 입력.
    python setup.py install

2-2. easy_install.exe 이용 설치.
    압축 풀 필요 없이 cmd 나 powershell 에서 명령어 입력.
    easy_install.exe 파일명
    예) easy_install.exe request-0.0.22.tar.gz

 

모듈 수동설치시 문제점.)
    의존성 문제 발생.
    설치 모듈의 연관 모듈 이 필요할 경우 연관된 모듈 을 수동으로 다운받아서 설치 해야함.


 

3. 모듈설치 오류.
    python2 버전과 python3 버전 의 모듈에 호환성 문제가 있음.
    본인이 설치한 파이썬버전을 확인후 해당 버전에 맞는 모듈을 설치 해야함.

 

 

참고.)
    윈도우용 파이썬 UI 프로그램이 있음.
    해당 프로그램 에선 설치 버튼으로 설치 가능.

 

이글은 별도의 외부프로그램 설치 없이 가능한 방법을 작성함.

파이썬 시작 을 위한 기본 사용법.

바로 실무 에 적용 하기 위한 필수 정보.



원하는 버전의 파이썬 설치 와 기본 셋팅 이후 의 코딩 관련 정보 입니다.


1. 최상단 charset 설정.

#-*- coding: utf-8 -*-

#-*- coding: euc-kr -*-

#-*- coding: cp949 -*-



2. 필요한 모듈 임포트 하기.

import urllib.request


사용법 : urllib.request.urlopen()


from urllib.request import urlopen


사용법 : urlopen()


import만 할경우 해당 모듈과 명령어 까지 사용 할수 있다.


from 과 import 를 사용해서 모듈을 불러올경우 해당 명령어 만으로 사용 가능 함.




3. 크롤링 만들기.

크롤링 에 많이 사용하는 모듈, BeautifulSoup.


from bs4 import BeautifulSoup

import requests


로그인이 필요한 페이지 크롤링 하기.

session = requests.session()


params = dict()

params['custId'] = user

params['pwd'] = password

params['submittedLogin'] = 'true'


res = session.post(login_url, data = params) #post 방식으로 연결.

res.raise_for_status()


target_url = 'http://shinrip.tistory.com/'

res = session.get(target_url) #로그인된 세션 유지하며 페이지 연결.

res.raise_for_status()


soup = BeautifulSoup(res.text, 'html.parser')


원하는 내용을 for 나 if 를 이용해서 추출 해서 사용하면 됨.


사용예)

for link in soup.find_all("input",{"id" : part_chk}):

for page_info_sub in link.find_all("td"):

corp_info_summary = page_info_sub.text.strip()




참고: 

if 나 for 문 사용시 끝에 : 로 마무리.

들여쓰기 사용.



많이 사용하는 명령어 : 

*.strip() - 빈칸 제거.

link.get("value")[:16] - 앞에서 16자리 까지 의 내용만 가져옴.

link.find("id_value") - link의 내용중 가장 앞의 id_value 를 찾는다.

link.find_all - link의 내용중 모든 id_value를 찾는다.

body.split('기준') - body 변수 내용을 '기준' 으로 나눠 서 배열로 제작.

len(배열) - 배열 의 길이 구하기.

print("내용출력") - 내용출력.





4. 작업한 파이썬 프로그램 EXE 파일 로 제작.

여러가지 모듈이 있으나 pyinstaller 이 사용하기 간편함.

pyinstaller 를 설치 후.


pyinstaller -F test.py


거의 모든 시스템에서 실행 가능한 exe 파일 하나로 제작.

test.exe








+ Recent posts