basic 132

[python 08] 크롤링(5) 시각화, oracle db 연동

Matplotlib 📑 : https://matplotlib.org/stable/index.html 📑 : https://wikidocs.net/92071 • 데이터를 차트나 플로(plot)으로 그려주는 모듈 패키지 (데이터 시각화 패키지) • 라인 플롯, 바 차트, 파이 차트, 히스토그램, box 플록, scatter plot 등 다양한 차트와 스타일 지원 • 라이브러리 설치 필요 ☑ 스타일 변경 ∙ 컬러 : b blue, g green, r red, c cyan, m magenta, y yellow, k black, w white, ∙ 마커 : o circle, v 역삼각형, ^ 삼각형, s square, + 플러스, . 점, -- 점선, - 실선 지도에 데이터 그려보기 • 지도 데이터 파일 : .j..

basic/python 2021.08.27

[python 07] 크롤링(4) - 데이터 처리할때 사용하는 라이브러리 numpy, pandas

• 처리 : 수집한 정보들을 원하는 데이터만 추출/가공 : 데이터 정제, 저장 numpy • 수치 데이터를 다루는 패키지 • 다차원 행렬 자료구조인 ndarray를 통해 벡터 및 행렬을 사용하는 선형대수 계산에 주로 사용 • 라이브러리 설치 필요 ☑ 함수 array() numpy 기능을 사용할 수 있도록 데이터 변환 asarray() asarray로 바꿔주는것 arange() 기존의 range랑 비슷 linspace() ligspace() shape 크기출력 (행, 열) ndim 차원 pandas • 데이터 처리를 위한 라이브러리 • 데이터 분석같은 작업에서 필수로 사용, 행과 열로 이루어진 데이터 객체를 만들어 보다 안정적으로 대용량 데이터를 처리하는데 편함 • 행렬로 되어있는 데이터를 다루기 쉬움 •..

basic/python 2021.08.26

[python 06] 크롤링(3) - Selenium 셀레늄

💡 • 정적 웹페이지 urllib + bs requests + bs • 동적 웹페이지 Selenium + chromedriver 동적페이지 크롤링 Selenium 셀레늄 브라우저를 제어해서 크롤링하는 방법 # 라이브러리 설치 selenium : python interpreter 에서 설치 (또는 pip install selenium) chromedriver : 크롬브라우저 버전확인 (92.0.4515.159) ☑ selenium으로 브라우저 DOM에 접근하는 함수들 ▪ 리턴타입 : 단일객체 (cf. bs find()) ∙ find_element_by_id ∙ find_element_by_class_name ∙ find_element_by_css_selector ∙ find_element_by_xpath ..

basic/python 2021.08.25

python 05 [실습03] 네이버뉴스 크롤링

# 빅데이터 수집 (정적인 데이터 수집 버전) 1. requests.get() 메소드로 웹페이지 요청 2. BS 으로 파싱 3. find/find_all/select 이용하여 원하는 데이터 검색 추출 # 네이버 뉴스 #1. 라이브러리 임포트 import requests from bs4 import BeautifulSoup #2. 페이지요청 url = "https://news.naver.com/main/read.naver?mode=LSD&mid=shm&sid1=105&oid=277&aid=0004958097" headers = {"user-agent" : ""} res = requests.get(url, headers=headers) #print(res) #print(res.status_code) #pri..

basic/python 2021.08.24

python 05 [실습02] - find_all(), select() 함수 사용하여 원하는 태그 찾기

import하고 파싱하기 from bs4 import BeautifulSoup html = ''' hello1 hello2 hello3 ''' soup = BeautifulSoup(html, 'lxml')​ find() : 원하는 태그 하나를 얻을 수 있다. find_all() 원하는 태그들을 리스트 형태로 얻을 수 있다. ❕ 태그명으로 가져오기 print(soup.find_all('title')) print(soup.find_all('p')) 🖥️ console 출력 더보기 ❕ id값으로 가져오기 print(soup.find_all(id='a')) print(soup.find_all(id=True)) # 아이디 속성이 있는것들 가져오기 #False는 id 속성값이 없는것 전부 가져옴 🖥️ console..

basic/python 2021.08.24

python 05 [실습01] 파싱하기, 태그접근하기

html 코드 html = ''' hello1 hello2 hello3 ''' ❕ 파싱 soup = BeautifulSoup(html, 'lxml') # html, 파서 던져주어 파싱하기, 문자열을 html로 변환시킴 print(soup.prettify()) # html 구조에 맞게 예쁘게 출력됨 print(type(soup)) 🖥️ console 출력 더보기 태그 접근하기 ❕ 태그명으로 접근하기 .태그명 : 첫번째로 등장하는 태그 정보만 가져오기 title_tag = soup.title print(title_tag) print(type(title_tag)) print(title_tag.text) # 내용물만 뽑아오기 print(title_tag.string) # 그 태그안에 있는 내용물만 가져오기 pr..

basic/python 2021.08.24

[python 05] - 크롤링(2) 파싱

BeautifulSoup ☑ 파싱하기 1. import from bs4 import BeautifulSoup 2. html, parder를 주어 파싱 ∙ 문자열을 원하는 형태로 바꿔준다. ∙ 어떤 타입으로 변환하고 싶은지 프로그램 소도구가 필요하다. parser를 던져줘야함 ☑ 파서의 종류 ▪ lxml (HTML parser) ▸ BeautifulSoup(html, 'lxml') ∙ 특징 : C언어로 구현되어 있어 속도가 빠름, 별도의 라이브러리 설치 필요 ▪ lxml (XML parser) ▸ BeautifulSoup(html, 'lxml-xml') ∙ 특징 : xml로 파싱 ▪ html5lib ▸ BeautifulSoup(html, 'html5lib') ∙ 특징 : 파싱하는 속도가 매우 느림, 별도의..

basic/python 2021.08.24

python 04 [실습] 크롤링

❕ 기상청 RSS 검색해서 정보 가져오기 #0 기상청 RSS 검색하여 url 가져오기 ''' http://www.kma.go.kr/weather/forecast/mid-term-rss3.jsp?stnId=108 전국 http://www.kma.go.kr/weather/forecast/mid-term-rss3.jsp?stnId=109 서울 경기 파라미터 stnId : 지역파라미터 ''' #1 필요 라이브러리 import urllib.request as request import urllib.parse api = "http://www.kma.go.kr/weather/forecast/mid-term-rss3.jsp" value = {"stnId":"109"} param = urllib.parse.urlenco..

basic/python 2021.08.23

[python 04] 예외처리, 크롤링

set 집합 • 구분기호 : () • set 키워드 • 중복을 허용하지 않는다 • 어떤것이 존재하는지 여부를 판단하기 위해 주로 사용 • 교집합 intersection, 합집합 union, 차집합 diffrence • 구조 변수 = set(리스트, 문자열, 튜플, 딕셔너리) ☑ 합집합 : & ☑ 교집합 : | ☑ 차집합 : - 예외처리 ☑ 예러의 예 IOError 파일 오픈할 수 없을때 등 i/o IndexError 인덱스번호 오류 ImportError import한 모듈 찾을 수 없을때 ValueError 값이 적절하지 못할때 ZerodivisionError 0으로 나누기할때 FileNotFoundError 파일 없는 경우 SyntaxError 문법 오류 EOFError end of file 더이상 읽..

basic/python 2021.08.19