상세 컨텐츠

본문 제목

[내일배움카드 코딩] 1주차_주식 데이터 분석 파이썬

본문

Colab

구글에서 지원해주는 브라우저 상 파이썬 코딩 환경

파이썬이란?
 - 가장 직관적인 문법을 가진 언어!
 - 광범위하게 사용할 수 있는 언어 !

무료로 사용할 수 있는 환경이라서 뭐 파이썬 사용하기 위해 뭐 이거 다운 저거 다운 받아야 하는 게 없어서 사용하기 

편리해요.

사전 준비??? 필요한 것? chrome, 인터넷 접급, 구글 아이디 정도??  

▼ 여기로 접속하시면 바로 갈 수 있어요

접속 방법 - https://colab.research.google.com/notebooks/welcome.ipynb

그러면 아래와 같은 창이 나와요.

여기에 이제 변수를 선언하고 값을 입력 그리고 출력하고 싶은 계산을 한번 해보면 ctrl + enter(연결 or 출력)

※ 주의
     1. print( ) 없이 출력하면 제일 밑에 부분만 출력 - 한번에 여러 개 출력하고 싶으면 print( )문 꼭 사용하기!!!!
     2. 1시간 반(90분)까지 연속 사용 가능! 
     3. 하루 최대 12시간 이용제한

 

일단 들어가기 전에 간략하게 리스트와 딕셔너리 함수와 함수설정(만들기) 하는 방법을 한번 볼께요.

처음에는 리스트 선언하는 방법이예요.

list = ['배', '사과', '수박', '오렌지']

# 인덱스 번호 넣고 출력 시 인덱스 안에 있는 값 출력
# '배' 출력
list[0]

리스트의 인덱스는 상자라고 보시면 돼요. 

주의할 시 점은 1번부터 시작이 아니라 0번부터 시작한다는 겁니다.

인덱스 [0] [1] [2] [3]
사과 수박 오렌지

딕셔너리 함수는 { } 안에 키 값과 데이터 값을 넣는거예요.

방식은 {키: 값}으로 입력하는데 키와 값을 구별할 때는 ' : ' 를 중심으로 구분해요.

a_dict = { 'name' : '철수', 'age': 15}

# 리스트에서도 딕셔너리 함수 사용 가능
# a_dict = [{'name' : '철수', 'age': 15},{'name' : '영희', 'age': 17}]

#출력 철수
a_dict['name'] 
#출력 15
a_dict['age']

# 리스트에서 딕셔너리 함수 출력
#a_dict[0]['name']
{ 키 : (데이터) 값} 키 = name 키 = age
인덱스[0]의 값(데이터) 철수 15
인덱스[1]의 값(데이터) 영희 17

함수 선언은 def(Definition-정의)를 선언해주고 안에 연산을 넣어주는게 끝이예요.

# 함수 선언 def 
# 함수 이름 sum
# 매개변수 - 받아올 변수(a와 b) 
# 내용 입력부 :
def sum(a,b):
    result = a + b		
    return result

# 연산 부분은 칸을 뛰어서 입력해주시면 됩니다.
# 값을 반환해주는 return 사용
# 호출한 곳에 값을 되돌려 줄 때 return을 사용하여 반환

이제 스크랩핑 실습으로 넘어갈께요.

일단 필요한 python 패키지가 있는데 설치가 간다해요.

# pip install 후 설치할 패키지 이름 입력

pip install bs4 requests

이렇게만 입력하시면 자동으로 설치가 완료되요. 물론 해당 패키지가 있어야 설치가 돼요.

import를 사용하여 패키지를 적용해주시면 패키지 기능을 사용할 수 있어요.

import requests
from bs4 import BeautifulSoup
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get('https://search.naver.com/search.naver?where=news&ie=utf8&sm=nws_hty&query=삼성전자',headers=headers)

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

 

여기까지 완료했으면 이제 보고 싶은 html코드를 붙여넣어줘요.

- select : 원하는 부분의 리스트(?) 입력

- select_one: 원하는 태그 하나를 선정(클래스 등)

# select로 해당 html 코드를 입력 
lis = soup.select('#html 코드 입력')

# 반복문을 통해 반복 출력
for li in lis:
a = li.select_one('위에 입력한 htmld의 하위 코드 입력')
print(a.text, a['href'])

마지막으로 엑셀로 출력하기 위한 라이브러리를 설치해주세요.

 

openpyxl(open python xlsx?): 엑셀 파일  

pip install openpyxl

엑셀에 저장할 때 이렇게 사용하시면 됩니다.

from openpyxl import Workbook

# Workbook 생성자?를 저장 
wb= Workbook()
# sheet 변수에 Workbook의 active 사용하여 저장 
sheet = wb.active

# A1 셀에 저장
sheet['A1'] = '안녕하세요!'

# 저장
wb.save("샘플파일.xlsx")

엑셀을 보시면 위와 왼편에 분류하는게 있는데 그게 코드에서 2차 배열(리스트)로 보셔도 될 것 같아요.

[X][Y]  --> X: 행(▶) , Y:열(▼)

 


1주차 숙제

- 여러개의 이미지 한번에 다운로드 

# 압축파일 만들기 !zip -r
# 위치 및 파일명 /content/files.zip
# 가져올 파일 위치 /content/news
!zip -r /content/files.zip /content/news

 

▼압축 파일▼

totalChart.zip
1.37MB

관련글 더보기