Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 친절한SQL튜닝
- network configuration
- 병합
- 선형대수
- 목록처리
- 네트워크 설정
- iterator
- 데비안
- 구멍가게코딩단
- 깃
- 리눅스
- 처음 만나는 AI수학 with Python
- 티스토리 쿠키 삭제
- 이터레이터
- 서버설정
- 자바편
- 코드로배우는스프링부트웹프로젝트
- 코드로배우는스프링웹프로젝트
- /etc/network/interfaces
- 스프링 시큐리티
- 자료구조와함께배우는알고리즘입문
- 자료구조와 함께 배우는 알고리즘 입문
- Kernighan의 C언어 프로그래밍
- 스프링부트핵심가이드
- resttemplate
- GIT
- 알파회계
- merge
- 페이징
- 처음 만나는 AI 수학 with Python
Archives
- Today
- Total
bright jazz music
6. 파이썬 실습 본문
파이선의 문법의 구성요소
함수(def) ==> 클래스(class) ==> 모듈(module) ==> 라이브러리(library)
모듈은 파이썬 프로그램 단위로 생성된다. 즉, file.py라는 파일이 file이라는 모듈이 된다. 이 모듈 안에는 여러 개의 클래스가 존재할 수 있고, 클래스 안에는 여러 개의 함수가 존재할 수 있다.
외부 모듈을 가져올 때는 "import 모듈명"을 추가한다. 모듈이 어려 개 있는 라이브러리에서 특정 모듈만을 호출(임포트) 할 때는 "import 라이브러리명.모듈명"을 사용한다. 모듈에 있는 특정 함수만을 호출할 때는 from 모듈명 import 함수명"을 사용한다. 이는 불필요한 임포트를 최소화 하기 위함이다. 또한 긴 모듈을 줄이기 위해 as를 사용하기도 한다.
import bs4 # bs4라는 외부 모듈을 가져온다.
# urllib이라는 라이브러리 내의 request 모듈에 있는 urlopen 함수를 가져온다.
from urllib.request import urlopen
import pandas as pd # pandas라는 모듈을 pd라는 이름으로 가져온다
뷰티플 수프 사용하기.
뷰티플 수프란?
Beutiful Soup는 인터넷 상에서 데이터를 수집할 때 유용하게 사용되는 파이썬 패키지.
HTML이나 XML로 작성된 파일을
- pull (가져오기)
- navigate and search (내용 찾기)
- parse (분석하기)
실습 순서.
- 주피터 노트북 실행
- finEng 폴더 접근
- 06. BeautifulSoup.py 파일 생성 (ipynb 형식으로 만들어야 한다. 주피터 노트북으로 실습할 거면. BeutifulSoup.ipynb)
- 코드 입력 후 실행
데이터를 수집하려면 HTML 문법을 이해해야 수월.
실습 중간에 주피터 노트북을 껐다가 다시 진행한다면 주피터 노트북 상단 메뉴의 kernel > Restart & Run All 버튼을 눌러 전체 실행해서 앞부분 결괏값을 메모리에 저장한 후 진행해야 함.
#!/usr/bin/env python
# coding: utf-8
# In[ ]:
#http://book.finterstellar.com/sample.html
import bs4 # bs4라는 외부 모듈을 가져온다
# urllib라는 라이브러리 내의 request 모듈에 있는 urlopen 함수를 가져온다
from urllib.request import urlopen
import pandas as pd # pandas라는 모듈을 pd라는 이름으로 가져온다
# In[2]:
html_doc = """
<html><head><title>The Office</title></head>
<body>
<p class="title"><b>The Office</b></p>
<p class="story">In my office, there are four officers,
<a href="http://example.com/YW" class="member">YW</a>,
<a href="http://example.com/JK" class="member">JK</a>,
<a href="http://example.com/YJ" class="member">YJ</a> and
<a href="http://example.com/KS" class="member">KS</a>
.</p>
<p class="story">...</p>
"""
# In[3]:
from bs4 import BeautifulSoup
#bs4 라이브러리에서 BeautifulSoup 패키지 가져오기
# In[4]:
soup = BeautifulSoup(html_doc, 'html.parser')
#뷰티플 수프 함수를 이용해 html_doc을 해석해서 soup에 저장.
#파싱 시 HTML코드를 분석해서 태그별로 서브 변수를 생성해 내용을 저장
# 따라서 사용자는 소스 내에 있는 태그 단위로 정보 컨트롤 가능
# In[10]:
print(soup.prettify())
# In[5]:
soup.title
#title태그를 통째로 가져오기
# In[6]:
soup.title.text
#태그 제거하고 text만 가져오기
# In[7]:
soup.a
# a 태그를 통째로 가져옴(첫 번째만 가져옴)
# In[8]:
soup.find_all('a')
#따라서 모두 가져오기를 사용
# In[19]:
soup.find_all('a').text
#텍스트만 가져오려고 했지만 오류남. 결과가 리스트 형태이기 때문에 바로 위의 메소드로는 값을 찾을 수 업음.
# In[9]:
soup.find_all('a')
#리스트에 담긴 값을 모두 가져오기
# In[11]:
soup.find_all('a')[2]
# 2번 인덱스( 순서로는 세 번째)에 해당하는 값을 가져옴
# In[17]:
memberList = soup.find_all('a') #memberList 변수에 멤버 목록 담기. 그리고 출력
for m in memberList:
print(m.)
# In[ ]:
'기타 > 파이썬 금융 데이터 분석' 카테고리의 다른 글
7. 1 네이버에서 KOSPI200 지수 수집하기(html크롤링) (0) | 2021.12.27 |
---|---|
7. 금융공학 모델링 (0) | 2021.12.25 |
5. 주식 엑셀(구글 시트) 실습 (0) | 2021.12.21 |
4.3 산포도, 회귀분석, 추세선, 결정계수 (0) | 2021.12.21 |
4. 주가지수의 종류 (0) | 2021.12.10 |
Comments