일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- LinearNeuralNetwork
- Multi-Layer Perceptron
- group_by( )
- col_names
- r
- 생활코딩
- 베이즈통계학
- Filter
- RNN
- regex
- regular expression
- dplyr
- Sequential Model
- JavaScript
- 모각공
- convolution 역전파
- 부스트캠프aitech3기
- aitech
- Beyond Linear Neural Networks
- 네이버커넥트
- NomadCoder
- 네이버커넥트재단
- 자바스크립트
- summarise( )
- 부스트캠프 aitech3기
- 정규표현식
- 부스트캠프
- mutate( )
- 역전파알고리즘
- Convolution
- Today
- Total
clear_uncertainty
네이버 부스트캠프 모각공 4일차 - Python Data Handling 본문
네이버 부스트캠프 모각공 4일차 - Python Data Handling
SOidentitiy 2021. 11. 11. 16:29
모든 설명 및 자료의 출처는 네이버 부스트코스의 <[부스트캠프 AI Tech 3기] Pre-Course>입니다.
(https://www.boostcourse.org/onlyboostcampaitech3/joinLectures/329424)
<꼭 알아야 하는 파이썬 기초지식>
Python Data Handling
기초적인 Data type에는 CSV, 웹(html), XML, JSON이 있습니다.
CSV
-Comma separate Values
-CSV, 필드를 쉼표로 구분한 텍스트 파일
-엑셀 양식의 데이터를 프로그램에 상관없이 쓰기 위한 데이터 형식이라고 생각하면 쉽습니다.
-탭(TSV, Tab Separated Values), 빈칸(SSV, Single Separated Values) 등으로 구분해서 만들기도 합니다.
-통칭하여 Character-Separated Values (CSV)라 부릅니다.
-엑셀에서는 '다른 이름 저장' 기능으로 사용가능합니다.
-일반적 textfile을 처리하듯 파일을 읽어온 후, 한줄 한줄씩 데이터를 처리합니다.
-Text파일 형태로 데이터 처리시 문장 내에 들어가 있는 "," 등에 대해 전처리 과정이 필요
-파이썬에서는 간단히 CSV파일을 처리하기 위해 csv 객체를 제공합니다.
CSV 객체 활용
WEB
-World Wide Web(WWW) 줄여서 웹이라고 부름
-우리가 늘 쓰는 인터넷 공식의 정식 명칭
-팀 버너스리에 의해 1989년 처음 제안됐으며, 원래는 물리학자들간의 정보 교환을 위해 사용됨
-데이터 송수신을 위한 HTTP 프로토콜 사용, 데이터를 표시하기 위해 HTML 형식을 사용
HTML (Hyper Text Markup Language)
웹 상의 정보를 구조적으로 표현하기 위한 언어
제목, 단락, 링크 등 요소 표시를 위해 Tag를 사용
모든 요소들은 꺽쇠 괄호 안에 둘러 쌓여 있음
모든 HTML은 트리 모양의 포함관계를 가짐
일반적으로 웹 페이지의 HTML 소스파일은 컴퓨터가 다운로드 받은 후 웹브라우저가 해석/표시
왜 웹을 알아야 하는가?
정보의 보고, 많은 데이터들이 웹을 통해 공유됨
HTML도 일종의 프로그램, 페이지 생성 규칙이 있음 : 규칙을 분석하여 데이터의 추출이 가능
추출된 데이터를 바탕으로 하여 다양한 분석이 가능
정규식(Regular expression)
정규표현식, regexp 또는 regex 등으로 불림
복잡한 문자열 패턴을 정의하는 문자 표현 공식
특정한 규칙을 가진 문자열의 집합을 추출
참고 자료 (필자가 작성한 정규표현식 정리 포스트입니다.)
https://seungwoolee99.tistory.com/23
https://seungwoolee99.tistory.com/24
https://seungwoolee99.tistory.com/25
https://seungwoolee99.tistory.com/26
https://seungwoolee99.tistory.com/27
eXtensible Markup Language ( = XML)
데이터의 구조와 의미를 설명하는 TAG(Markup)를 사용하여 표시하는 언어
TAG와 TAG사이에 값이 표시되고, 구조적인 정보를 표현할 수 있습니다.
HTML과 문법이 비슷, 대표적인 데이터 저장 방식
정보의 구조에 대한 정보인 스키마와 DTD 등으로 정보에 대한 정보가 표현되며, 용도에 따라 다양한 형태로 변경가능
XML은 컴퓨터 간에 정보를 주고받기 매우 유용한 저장방식으로 쓰이고 있습니다.
XML 예제
XML도 HTML과 같이 구조적 markup 언어
정규표현식으로 Parsing 이 가능합니다
그러나 좀 더 손쉬운 도구들이 개발되어 있습니다.
가장 많이 쓰이는 parser인 beautifulsoup으로 파싱합니다.
추가 학습 - What is data parsing? (출처: https://www.scrapingbee.com/blog/data-parsing/)
parse
1. 타동사 문법 [VN] (문장을 문법적으로) 분석하다
parser
1. 컴퓨터 파서(문장의 구조 분석,오류 점검 프로그램)
parsing
1. 명사 문법 어구의 해부, 문의 분석
Data parsing is the process of taking data in one format and transforming it to another format. You'll find parsers used everywhere. They are commonly used in compilers when we need to parse computer code and generate machine code.
This happens all the time when developers write code that gets run on hardware. Parsers are also present in SQL engines. SQL engines parse a SQL query, execute it, and return the results.
In the case of web scraping, this usually happens after data has been extracted from a web page via web scraping. Once you've scraped data from the web, the next step is making it more readable and better for analysis so that your team can use the results effectively.
A good data parser isn't constrained to particular formats. You should be able to input any data type and output a different data type. This could mean transforming raw HTML into a JSON object or they might take data scraped from JavaScript rendered pages and change that into a comprehensive CSV file.
Parsers are heavily used in web scraping because the raw HTML we receive isn't easy to make sense of. We need the data changed into a format that's interpretable by a person. That might mean generating reports from HTML strings or creating tables to show the most relevant information.
Even though there are multiple uses for parsers, the focus of this blog post will be about data parsing for web scraping because it's an online activity that thousands of people handle every day.
Beautifulsoup
HTML, XML 등 Markup 언어 Scraping 을 위한 대표적인 도구
-lxml 과 html5lib과 같은 Parser를 사용합니다.
-속도는 상대적으로 느리나 간편히 사용할 수 있습니다.
JavaScript Object Notatoin(=JSON)
원래 웹 언어인 Java Script 의 데이터 객체 표현 방식
간결성으로 기계/인간이 모두 이해하기 편함
데이터 용량이 적고, Code로의 전환이 쉬움
이로 인해 XML의 대체제로 많이 활용되고 있음
왼쪽은 XML, 오른쪽은 JSON입니다. JSON이 XML보다 간결한 것을 확인할 수 있습니다.
JSON in Python
json 모듈을 사용하여 손 쉽게 파싱 및 저장 가능
데이터 저장 및 읽기는 dict type 과 상호 호환 가능
웹에서 제공하는 API는 대부분 정보 교환 시 JSON 활용
페이스북, 트위터, Github 등 거의 모든 사이트
각 사이트 마다 Developer API의 활용법을 찾아 사용
JSON Read
-JSON 파일의 구조를 확인 > 읽어온 후 > Dict Type처럼 처리
출처
'네이버 부스트캠프 - AI Tech 3rd > 꼭 알아야하는 파이썬 기초지식' 카테고리의 다른 글
네이버 부스트캠프 모각공 캠페인 6일차 - Pandas (0) | 2021.11.14 |
---|---|
네이버 부스트캠프 모각공 캠페인 5일차 - Numerical Python - numpy (0) | 2021.11.12 |
네이버 부스트캠프 모각공 3일차 - File/Exception/Log Handling (0) | 2021.11.10 |
네이버 부스트캠프 모각공 캠페인 3일차 - Module and Project (0) | 2021.11.10 |
네이버 부스트캠프 모각공 캠페인 2일차 - Python Object-Oriented Programming (0) | 2021.11.09 |