※ 학습 노트
학습 사이트 |
인프런 |
과정 제목 |
파이썬입문과 크롤링기초 부트캠프 (2020 업데이트) [쉽게! 견고한 자료까지!] |
학습 시간 |
72강/941분 |
의견 |
- 크롤링이 뜻대로 되지 않는 부분에 대한 팁을 얻기 위해 등록한 과정이기 때문에 스파르타 코딩 클럽에서 배운 것과 겹치는 부분은 스킵하고 필요한 부분부터 우선적으로 듣기로 함 - 개념적인 것을 엄청 자세하게 설명해서 초보자(나)에게 좋음. 기존에 배운 것 복습 + 빈 곳을 채우는 느낌 - 10~20분 단위로 micro하게 구성 |
학습 모듈 | 강의 준비 파이썬과 프로그래밍 기초를 견고하게 쌓는 가장 좋은 방법 - skip 파이썬 객체와 라이브러리 - skip 크롤링과 웹 기본 |
강의준비_데이터과학과 IT 영역에서의 파이썬과 크롤링 큰그림 이해하기
* 영역: 웹, 앱, 응용 프로그램, IoT, 인공지능
* 단계: 데이터 수집 - 저장 - 분석 - Visualization - 서비스 개발
강의준비_프로그래밍 언어 기초와 파이썬 이해
* 프로그래밍 언어: 인간이 컴퓨터와 소통할 수 있도록 컴퓨터가 이해할 수 있는 명령으로 프로그램을 작성할 수 있도록 만든 언어
- 컴퓨터는 기계어 (0과 1로 된 이진수 형태로 CPU가 이해할 수 있는 코드)만 이해한다
강의준비_anaconda와 jupyter notebook 소개와 설치
* 아나콘다(anaconda) 확장 기능 + 컴파일러 프로그램까지 한 번에 설치할 수 있는 프로그램
- 파이썬 기본(컴파일러), 주요라이버리, 주요툴(jupyter notebook포함)을 모아놓은 패키지
- 컴파일러 고급 언어로 작성된 코드를 기계어로 변환하는 프로그램
크롤링과 웹 기본_패턴으로 실습하며 익히기: 크롤링 코드 패턴으로 이해하기
#라이브러리 임포트 import requests from bs4 import BeautifulSoup #웹페이지 가져오기 res = requests.get('사이트주소') #웹페이지 파싱하기 soup = BeautifulSoup(res.content, 'html.parser') #필요한 데이터 추출하기 mydata = soup.find('title') #추출데이터 활용하기 print(mydata.get_text()) |
* 웹기본구조
- 네트워크를 통해 내 컴퓨터와 다른 컴퓨터를 연결하고 정보를 주고 받을 수 있음
- 어떤 컴퓨터에서 정보를 받아올지 지칭하는 주소가 IP주소
- IP 주소를 이름으로 표기한 것이 웹주소
- 주소를 넣으면 html로 구성된 파일을 달라고 요청하고 html은 해당 정보를 웹브라우저 안에서 보여줌
* 파싱 문자열의 의미를 분석하는 것
* 데이터 추출
soup.find('html코드') 변수.get_text |
HTML
크롤링과 웹 기본_크롤링을 위한 지식: 웹구조와 HTML 이해하기
* 웹페이지는 HTML, CSS, javascript로 표현
* HTML
- HTML은 마크업 언어: 문서나 데이터의 구조를 표현하는 언어
- HTML 언어 : 웹페이지를 만드는 언어
- 꺽쇠 <>와 tab로 표현
* Sublime Text 3 프로그램: HTML 에디터
*HTML 기본구조
<!DOCTYPE html> 이 문서는 HTML 언어를 사용 <html> 여기서부터 HTML 문서 시작 <head> 문서 전체 정보 (제목 등) </head> <body> 실제 웹페이지 표현되는 내용 </b> enter </body> </html> |
<head> <title> 제목 </title> 웹페이지의 타이틀이라 본문에 표시되지 않지만 탭에서 확인 가능 <meta charset="utf-8"> 글씨가 깨질 때 추가 </head> |
*태그 속성
<태그 속성(속성 이름, 속성 값) 속성 속성>
- 속성과 속성 사이는 한 칸씩 띄어야함
*구조화된 태그 (테이블)
<table border="1"> <thead> 한 테이블의 타이틀(표 머리글) <tr> <th>1*1</th> <tr> </thead> <tbody> 본문 내용 <tr> <td>1*1</td> <tr> </tbody> </table> |
크롤링과 웹 기본_패턴으로 실습하며 익히기: HTML 이해를 바탕으로 크롤링하기
*속성을 가져오는 방법
soup.find('태그')
#예시 data =soup.find('p', class_='cssstyle') #클래스가 cssstyle을 가져오는 것 data =soup.find('p', attrs={class':'cssstyle') #속성과 속성값을 그대로 기입 / 속성 여러 개 나열 가능 data =soup.find('p', 'cssstyle') data =soup.find('p', id='body') datas =soup.find_all #전체 다 찾아주나 리스트 형태로 보여주기 때문에 for 구문써줘야함 for find_data in find_datas: print (find_data.get_text()) |
* 크롤링에서 가장 많이 쓰는 속성은 class이고 css 언어와 관련
CSS
크롤링과 웹 기본_크롤링을 위한 지식: 웹구조와 CSS 이해하기
* HTML로 웹페이지 구조(내용)을 표현하고 CSS언어를 활용하여 디자인하는 것이 일반적
* CSS 언어 적용 방법
1) 적용할 태그에 style 속성으로 넣기
2) HTML문서 <head>안에 <style>태그로 넣기
3) HTML문서 <head>안에 CSS파일 링크하기
* css언어는 프로퍼티와 프로퍼티 값으로 이루어짐.
* 프로퍼티 정의는 구글 검색하여 css tutorial 활용
* 적용 방법 별 예시
1) 적용할 태그에 style 속성으로 넣기
<td style ="text-align:center; color:blue"> 세미콜론으로 구분해서 프로퍼티와 값을 연속으로 사용 가능. 띄어쓰기 해도 되고 안해도 됨 |
2) HTML문서 <head>안에 <style>태그로 넣기
<style type="text/css"> td{ font-size: 2em; 화면에서 디폴트로 보여주는 폰트의 2배 font-family: Gulim; text-align: center; } </style> |
3) HTML문서 <head>안에 CSS파일 링크하기 매 페이지마다 head를 쓸 필요 없이 css 파일을 만들어놓고 페이지에 링크 가능
통상 css라는 확장자를 사용하여 파일 저장
#특정 태그에 css 설정 적용할 때 <link rel="stylesheet" type="text/css" href="css/style.css"> css파일이 들어있는 폴더와 파일명 #.이름을 써서 별도의 css를 설정하여 내가 원하는 곳에 적용하려고 할 때 #.highlight는 내가 설정한 이름이며, class라고 부름 .highlight { font-size:3em; text-align:right; color: blue; } <td class="highlight"> #설정한 css를 사용하고 싶은 곳의 태그 안에 class로 표시 <td class=highlight> |
'공부하는 날' 카테고리의 다른 글
[학습노트][McKinsey Insight] 디지털 전략 (0) | 2021.01.03 |
---|---|
[학습노트][인프런] 데이터과학과 IT영역에서의 파이썬과 크롤링 큰 그림 이해하기 (2) (0) | 2021.01.01 |
[Edwith]모두를 위한 프로그래밍: 파이썬 자료구조 (0) | 2020.11.02 |
[스파르타 코딩 클럽] 3주차 복습 및 과제 기록 (0) | 2020.10.19 |
[People Analytics] 로지스틱 회귀분석 (0) | 2020.10.18 |