본문 바로가기

파이썬(python3)/기타

파이썬 크롤링 004 - 파싱 결과 저장 / 데이터수집 자동화

  정말 기본적인 크롤링 구현을 보여드리고 있습니다. 앞선 포스팅 3개에서 이어지는 포스팅이고요. 파이썬을 활용한 크롤링에 대해서 궁금하신 분들은 001부터 봐주시면 더 이해가 쉽습니다. 아래 링크로 달아둘게요.

 

2020/04/19 - 파이썬 크롤링 001 - 구성요소, 구현방법

2020/04/26 - 파이썬 크롤링 002 - 크롤러 구현

2020/05/03 - 파이썬 크롤링 003 - 파서 구현

 

  003에서 작성한 코드를 일부 수정했습니다. 일단 전체는 이렇게 생겼고요. 추가된 부분만 설명해볼게요.

import requests
from bs4 import BeautifulSoup

crawling_target_urls = [
    'https://finance.naver.com/item/main.nhn?code=000660',
    'https://finance.naver.com/item/main.nhn?code=263750',
    'https://finance.naver.com/item/main.nhn?code=123420',
]

with open('favorite_stock_info.csv', 'w') as f:
    for idx, url in enumerate(crawling_target_urls):
        resp = requests.get(url)

        info_list = [url]
        soup = BeautifulSoup(resp.text, 'html.parser')

        for div_tab_con1 in soup.find_all('div', class_='tab_con1'):
            for em in div_tab_con1.find_all('em'):
                info_list.append(em.getText().strip().replace('\t','').replace(' ','').replace('\n','').replace(',',''))

        f.write(','.join(info_list) + "\n")

 

  csv 파일을 하나 열어주는 코드죠. f로 사용할 수 있고요. favorite_stock_info.csv 라는 파일인데 파이썬 파일이 실행되는 곳에 생성됩니다. csv 파일은 Comma Separated Values의 약자죠. 그냥 콤마로 구분된 값들을 저장하는 포맷인데 이 형식으로 저장하면 엑셀에서도 쉽게 열어보실 수 있거든요! 

with open('favorite_stock_info.csv', 'w') as f:

  그리고 이런 코드를 추가했는데요. info_list 라는 리스트를 하나 만들고 내부에 url 값으로 초기화 했습니다. 이후에 em을 for문 돌면서 값을 깔끔하게 정리한 후 info_list에 저장합니다. em에 대한 for문이 종료되면 f.write 함수를 통해서 파일에 기록하는 것이죠.

		info_list = [url]
        ...
                info_list.append(em.getText().strip().replace('\t','').replace(' ','').replace('\n','').replace(',',''))

        f.write(','.join(info_list) + "\n")

 

  그 결과는 아래와 같아요. 값은 매일 달라질 수 있어요. 하지만 이런식으로 저장할 수 있구나 정도를 아실 수 있으면 됩니다. 

  엑셀이나 맥의 number 앱에서도 열어보실 수 있죠.

 

  이번 포스팅에서는 파일에 저장하기 까지 수행해봤습니다. 다음 포스팅에서는 다른 내용으로 돌아올게요 !

 

 

http://cchart.xyz/

 

cchart.xyz / 데이터 수집,가공 서비스

반복적인 웹 데이터 수집, 가공서비스

cchart.xyz