목록전체 글 (75)
SiLaure's Data
방황의 시작.. 어떻게든 수업에서 배운 것을 써보려고 했음. 하지만 알았지 그건 틀렸다는 걸.... In [183]: import requests import json # 괜히 불러옴 import ssl # 괜히 불러옴 2 import bs4 In [152]: # 1. 페이지 주소 규칙화 # www.cgv.co.kr/movies/detail-view/%3Fmidx=84775#1 # url = f'www.cgv.co.kr/movies/detail-view' # payload = {'keword' : 'midx=84775#1'} # r = requests.get(url, params=payload) # print(r.status_codeatus_code) # print(r.text) In [158]: mov..
- 다음 뉴스 댓글 개수 크롤링 In [42]: import requests import json HTTP 상태 코드 1xx (정보): 요청을 받았으며 프로세스를 계속한다 2xx (성공): 요청을 성공적으로 받았으며 인식했고 수용하였다 3xx (리다이렉션): 요청 완료를 위해 추가 작업 조치가 필요하다 4xx (클라이언트 오류): 요청의 문법이 잘못되었거나 요청을 처리할 수 없다 5xx (서버 오류): 서버가 명백히 유효한 요청에 대해 충족을 실패했다 출처: 위키피디아 In [9]: url = 'https://comment.daum.net/apis/v1/posts/133493400/comments?parentId=0&offset=0&limit=3&sort=POPULAR&isInitial=true&hasN..
beautifulsoup 모듈 사용하기 id, class 속성으로 tag 찾기 CSS를 이용하여 tag 찾기 속성 값으로 tag 찾기 정규표현식으로 tag 찾기 개발자도구를 이용하여 동적으로 로딩되는 데이터 추출하기 In [1]: import requests from bs4 import BeautifulSoup - 다음 뉴스 데이터 추출 뉴스기사에서 제목, 작성자, 작성일 , 댓글 개수 추출 뉴스링크 tag를 추출할때는 가장 그 tag를 쉽게 특정할 수 있는 속성을 사용 id의 경우 원칙적으로 한 html 문서 내에서 유일 - id, class 속성으로 tag 찾기 타이틀 작성자, 작성일 In [2]: url = 'https://news.v.daum.net/v/20190728165812603' resp ..
1. Titanic data load 및 환경 세팅 1) 라이브러리 불러오기 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns plt.style.use('ggplot') # ggplot style을 사용합니다. 2) 타이타닉 데이터 불러오기 train = pd.read_csv("../../../../../Kaggle/data/titanic/train.csv") test = pd.read_csv("../../../../../Kaggle/data/titanic/test.csv") 3) titanic 생존 여부 분석에 필요하지 않은 column들 없애기 Ⅰ.결측치 확인 및 처리 -- Imputa..
Parsing? html문서 내에서 원하는 값만 추출하는 것 - HTML 문자열 파싱 문자열로 정의된 html 데이터 파싱하기 (예제) html = ''' Contents Title Test contents Test Test Test 1 Test Test Test 2 Test Test Test 3 ''' - find() 함수 : 특정 html tag를 검색하거나 검색 조건을 명시하여 찾고자 하는 tag를 검색할 수 있다. soup = BeautifulSoup(html) tag 명으로 찾을 수 있다. soup.find('h3') 출력 : Contents Title 여러 개일 경우 첫 번째의 태그를 찾아준다. soup.find('p') 출력 : Test contents 속성을 이용해서 같은 이름을 가진 다른..
- 공공데이터 Open API 사용하기 1. 공공데이터 포털 회원가입/로그인 (https://www.data.go.kr/) 2. API 사용 요청, 키 발급 3. API 문서(specification) 확인 4. API 테스트 및 개발 - Key 값 확인하기 서비스 호출을 트래킹 할 목적이나 악의적인 사용을 금지할 목적으로 주로 사용한다. 새로 발급받은 키는 30분 이후 사용이 가능하다. (1시간에서 변경됨.) 참고문서를 다운받아서 확인해보면 API 활용 메뉴얼을 볼 수 있다. - EndPoint 확인하기 : API가 서비스 되는 서버의 IP 또는 domain 주소 http://api.visitkorea.or.kr/openapi/service/rest/EngService/areaCode?serviceKe..
- request 모듈 1. http request/response를 위한 모듈 2. HTTP method를 메소드 명으로 사용하여 request 요청 e.g. get, post 1. get 요청하기 1) http get 요청하기 2) query parameter 이용하여 데이터 전달하기 url을 통해 요청하기 import requests url = 'https://news.v.daum.net/v/20190728165812603' resp = requests.get(url) resp 출력 : 200은 가장 일반적인 성공 메시지 resp.text 출력 : 페이지 소스 보기(view-source:https://news.v.daum.net/v/20190728165812603)와 같다 2. post 요청하기 1..
HTTP(Hyper Text Transfer Protocol) : HTML 문서 등의 리소스를 전송하는 프로토콜* Protocol : 미리 정의된 규약 Hyper Text : HTML 문서 HTML : Hyper Text Markup Language 모든 Web Page는 HTML로 되어있다. 결국 HTTP란 HTML 문서를 전송하는 규약으로, 웹 사이트를 생성하기 위한 언어로 문서와 문서가 링크로 연결되어 있다. - HTTP를 요청하는 방식 2가지 1. Get 요청방식 데이터를 URL에 포함하여 전달하는 방식 정보 공유가 가능하다. 주로 리소스(페이지) 요청에 사용된다. 2. Post 요청 눈에 안 보이는 요청 방식이다. 데이터를 숨기기 위해 데이터를 Form data에 포함하여 전달한다. 주로 로그인..
EDA를 수행할 때 포함되어야 하는 것들은 다음과 같다. 1. 평균, 분산과 같은 통계량들을 확인하였는가? 2. 시각화 기법들(barplot, histplot 등)을 사용하였는가? 3. pivot table을 이용하여 데이터를 다양한 시각으로 관찰하였는가? 4. pandas fancy indexing을 활용하여 원하는 데이터를 필터링하여 사용하였는가? 5. 분석한 코드에 설명(주석 or Markdown)을 기재하였는가? 일단 import와 data 읽어오기 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns sns.set_theme(style='whitegrid') plt.style.use(..
- Indexing (same as python list, but more powerful) 기본적으로는 list indexing과 동일하다. 그러나 list indexing에서는 제공되지 않는 (리스트 안에 수식 --연산기능)가 제공된다. 콜론(:) 이 slicing 기능을 한다. array 생성 arr1 = np.arange(10) arr1 출력 : array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) 첫 번째 원소 arr1[0] 출력 : 0 마지막 원소 arr1[-1] 출력 : 9 앞에서부터 원소 3개 slicing arr1[:3] 출력 : array([0, 1, 2]) 2차원 numpy array arr2 = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9,..