Ch6 – Loop
-While Loop
1. While 조건: statements
2. While-else
3. 중간에 탈출 – break
-For Loop
range(n): 0부터 n까지의 자연수 (n은 제외)
range(m,n): m부터 n까지의 자연수(n은 제외)
range(m,n,k): m부터 n까지 k씩 증가하는 자연수(n은 제외)
리스트 이용: for item in list: statements
번호도 같이: for index, item in enumerate(list): statement
multiple lists: for item1, item2 in zip(list1, list2): statement
-한 줄로 프린트하기: print(str, end=“ ”)
-간단히 리스트 만들기(list comprehension)
[수식 for k in 리스트]
[수식 for k in 리스트 if 조건]
Ch7 – File I/O
-Module os
os.getcwd(): 현재 디렉토리 확인
os.listdir(): 현재 디렉토리 파일 목록
os.chdir(): 디렉토리 변경
os.mkdir(): 디렉토리 생성
os.remove(): 파일 삭제
-파일 열기/닫기
f = open(파일이름,“r”): 읽을 파일 열기 -> content = f.read(): 파일 읽어서 저장
f = open(파일이름,“w”): 쓸 파일 열기 -> f.write(“text”): 파일 쓰기
f.close(): 파일 닫기
기호 t: 텍스트(기본)
기호 b: binary
기호 a: 이어쓰기
기호 +: 읽기/쓰기
\n 없애기 – f.read().splitlines() 이용
파일 사용이 끝나면 반드시 f.close()로 닫아준다.
리스트 내용을 파일에 저장: for loop을 이용, srt()함수를 이용
줄 바꿔서 쓰기: f.write(x + “\n”) or f.write(“\n”.join(x))
Ch8 – Web scraping
-Web scraping(wikipedia)
웹 스크래핑, 웹 수집 또는 웹 데이터 추출은 웹 사이트에서 데이터를 추출하는데 사용되는 데이터 스크래핑.
웹 스크래핑 소프트웨어는 하이퍼텍스트 전송 프로토콜을 사용하거나 웹 브라우저를 통해 직접 월드 와이드 웹에 엑세스할 수 있습니다.
웹 스크래핑은 소프트웨어 사용자가 수동으로 수행할 수 있지만, 일반적으로 이용어는 봇 또는 웹 크롤러를 사용하여 구현된 자동화된 프로세스를 말합니다.
-Web crawler
웹 크롤러는 조직적, 자동화된 방법으로 월드 와이드 웹을 탐색하는 컴퓨터 프로그램이다.
웹 크롤러가 하는 작업을 ‘웹 크롤링’ 혹은 ‘스파이더링’이라 부른다.
검색 엔진과 같은 여러 사이트에서는 데이터의 최신 상태 유지를 위해 웹 크롤링한다.
4. 웹 크롤링 시 주의점: 개인 정보 등의 피해 가능성, 로봇 배제 표준(웹 사이트에 로봇이 접근하는 것을 방지하기 위한 규약으로, 일반적으로 접근 제한에 대한 설명을 robots.txt에 기술한다. robots.txt 파일은 항상 사이트의 루트 디렉토리에 위치해야 한다.)
HTML문서 읽기
1. 몇 가지 모듈이 필요하다.(requests, beautifulsoup)
2. step: import requests -> r = requests.get(url) -> html = r..text
3. r.encoding = “utf-8”을 이용해 한글 깨짐 현상 처리
Beautiful Soup으로 parsing하기
HTML을 수정하여 쉽게 탐색할 수 있는 XML 형식의 파이썬 객체로 변환
웹 탐색에 유용
parsing 방식은 lxml, xml, html5lib 등이 있다.
HTML navigating
soup.find() -> soup.find().text: content(내용) 추출
soup.find_all()
soup.select() -> soup.find_all()과 유사
soup.findstring=(“문자열(full)“
soup.find(string=re.compile(“문자열(part)”)
6. soup.find_next()
7. soup.find_previous
8. 암호가 걸려있는 페이지 열기: requests.get(url, auth=(‘id’, ‘pwd’))
9. soup.find(“태그이름“, id=“아이디이름”) -> all도 같게 사용
10. soup.find(“태그이름“, class_=“클래스이름”) -> all 도 같게 사용
11. 원하는 내용이 있는 부분을 먼저 검색하고 그 객체 안에서 다시 검색 가능
12. select()는 find_all()과 비슷, 결과는 리스트로 반환, class는 .(점)으로 id는 #으로 표시
13. strip() 좌우의 공백 제거
-속성 추출하기
soup.attrs[‘속성이름’]: 속성의 정보를 표시한다.
-한글어 암호화: import urllib -> encText = urllib.parse.quote(“내용”)
Ch10 – Open API
오픈 API: 누구나 사용할 수 있도록 공개된 API를 말한다.
개발자에게 사유 응용 소프트웨어나 웹 서비스에 프로그래밍적인 권한을 제공한다.
이것은 “하나의 웹 사이트에서 자신이 가진 기능을 이용할 수 있도록 공개한 프로그래밍 인터페이스가 오픈 API이다“ 라고 정의할 수 있다.
3. 구글 맵, 오픈 스트리트 맵 등이 대표적인 예이다. 지도 서비스 및 다양한 서비스들에서 시도되고 있으며 누구나 접근하여 사용할 수 있다라는 장점이 있다.
4. display : 출력 개수, start: 시작 지점, sort: 정렬 순서(sim, date)
5. get 방식을 이어 붙여도 되고 parms 형식을 사용해도 된다.
JSON 형식
import json 필요
json.loads(decode)
dict 형식
XML 형식
beautiful soup 사용
정보통신과 스마트 정부 기말 18시 00분
공공데이터
인증키, 한 페이지 결과수, 페이지 번호 필수.
Pandas 모듈로 엑셀 표처럼 정리 가능
.info(): data frame 정보 조회
.describe(): 기술통계 정보 ㅈ회
Ch12 – Pandas
- Pyhton을 이용한 데이터분석 모듈
NumPy: 파이썬의 과학 컴퓨팅을 위한 기본 패키지입니다. 다차원 배열 개체를 제공하는 파이썬 라이브러리입니다.
pandas: 빠르고 강력하며 유연하며 오픈소스 데이터 분석 및 조작 도구를 사용하기 쉽습니다, 파이썬 프로그래밍 언어 위에 내장되어 있습니다.
Matplotlib: 파이썬에서 정적, 애니메이션 및 대화형 시각화를 만들기 위한 포괄적인 라이브러리입니다.
- Pandas
'학교 수업 > 빅데이터 기초' 카테고리의 다른 글
[빅데이터 기초] 중간고사 요점정리 (0) | 2021.12.23 |
---|