일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Python
- 시각화
- 머신러닝
- konlpy
- 형태소분석기
- 태블로
- 인공지능
- 데이터 분석
- 파이썬
- Udemy
- pyspark
- selenium
- SQL
- 데이터
- scikit-learn
- iNT
- numpy
- pandas
- 크롤링
- 데이터분석
- Tableau
- input
- Okt
- ionehotencoding
- Word Cloud
- Today
- Total
목록전체 글 (134)
반전공자

정말 많은 사람들이 올렸겠지만.. 네이버 쇼핑 리뷰 크롤링 저도 도전합니다.. 특정 페이지 정적 크롤링 ※ 리뷰에 해당하는 태그와 selector : div.reviewItems_review_DqLYb 네이버 쇼핑의 리뷰는 다음 페이지 버튼을 계속 클릭해줘야 하는 크롤링이다. 동적 크롤링 전에 일단 페이지 구조를 파악하려고 특정 페이지에서만 크롤링을 진행했다. # 특정 페이지에서 크롤링할 떄 res = requests.get('https://search.shopping.naver.com/catalog/32773809619?query=%EC%A0%84%ED%86%B5%EC%A3%BC&NaPm=ct%3Dlf6f90ko%7Cci%3Db14b1dc7cc8bfa6e7089904249216296ddc80d27%7C..

list에서 원소가 중복되는 경우, 어떻게 중복된 원소 중 하나만 남길 수 있을까? 딱 봐도 중복된 원소가 여러개다. 일단, 중복을 무시하고 전체 원소의 개수는 720개이다. 중복 제거 set(name) ※ 데이터 타입 set 자체가 중복을 허용하지 않기 때문에 이걸 이용해서 중복을 제거해준다. 단점은 어떤 요소가 중복되었는지 확인은 불가하다는 점이지만, 빠르게 중복을 제거할 수 있다. 기존에 list인 요소를 set 했기 때문에 이 상태로는 pd.DataFrame 함수에 넣는게 불가하다. → 그럴땐 아주 단순하게 다시 list 함수를 씌워주면 된다. list 변환 list(set(name)) 그럼 중복만 깔끔히 제거되고 List 형태로 잘 변환된걸 확인할 수 있다~

리스트에서 아이템 중 중복된 아이템이 무언인가.. 살펴보고 싶은데, 데이터프레임처럼 value_counts 함수는 없으니.. 쉽게 알아볼 수가 없다!....! 그렇다면 어떻게 찾을 수 있을까?? 난 이런 리스트에서 중복값을 찾고 싶었다. 이때 사용하는게 바로 Counter 데이터를 Counter 함수 안에 입력하면 각 원소가 몇번씩 나오는지 딕셔너리 형태로 결과를 반환한다. 딕셔너리 형태이기 때문에 Key값으로 찾을 수 있다. from collections import Counter result = Counter(name) print(result) n = [] c = [] for key in result: print(key, result[key]) n.append(key) c.append(result[k..

네이버 쇼핑은 아래로 스크롤을 쭉 내리면 상품이 더 나오고,, 더 나오고,, 한 세네번 반복하면 페이지 숫자를 클릭할 수 있게 되어있다. 고로, 크롤링을 페이지를 넘겨가면서 하고 싶다면 스크롤도 내려줘야 한다는 말... 난 동적 크롤링이 너무 무서워서 ㅋㅎ 안하고 싶었는데, 프로젝트에서 크롤링이 필요해서 도전한다. 참고로 https://search.shopping.naver.com/search/all?origQuery=%EC%A0%84%ED%86%B5%EC%A3%BC&pagingIndex=1&pagingSize=40&productSet=total&query=%EC%A0%84%ED%86%B5%EC%A3%BC&sort=review×tamp=&viewType=list 전통주 : 네이버 쇼핑 '전통주'..
위와 같은 화면에서 상품명을 크롤링하고 싶다면? 크롬에서 크롤링하고 싶은 페이지 오픈하고 마우스 우클릭 한 다음 "검사" 를 클릭한다. 그럼 이렇게 html 코드가 나오고 빨간 화살표로 가리키고 있는 버튼을 누른 다음, 왼쪽 우리가 보던 화면에 가져다 대면 특정 요소의 selector를 알 수 있다. (크롤링할 때 find_all에 사용하는 것) 참고 - basicList_info_area__TWvzp : 상품명, 가격, 카테고리, 용량, 도수, 용기타입 한줄로 크롤링 가능 - div.basicList_title__VfX3c : 상품명 - basicList_depth__SbZWF : 상품 용량 - basicList_detail_box__OoXKt : 상품 도수 위 엘리먼트는 모두 div와 함께 있기 때문..

토마스 드라마브, 데니 리의 "PySpark 배우기"를 보고 배워나가는 과정을 기록한 글입니다 ♪ PySpark의 MLlib 패키지를 이용해 실제로 분류 모델을 학습해보자! MLlib = Machine Learning Library → 스트리밍에 대해 학습 모델링을 지원하는 유일한 라이브러리 다룰 내용 - MLlib으로 모델링하기 위해 데이터 준비 - 통계적 테스트 수행 - 로지스틱 회귀를 통해 유아 생존율 예측 - 가장 예측 가능한 feature 선택과 랜덤 포레스트 모델 학습 패키지에 대한 개요 세 단계의 머신러닝 기능 1. 데이터 전처리 : feature 추출, 변형, 선택, 카테고리 feature에 대한 해싱, 자연어 처리 기술 2. 머신 러닝 알고리즘 : 몇몇 유명하고 고급 레벨인 회귀, 분류,..

토마스 드라마브, 데니 리의 "PySpark 배우기"를 보고 배워나가는 과정을 기록한 글입니다 ♪ 데이터에 친숙해지기 모델링 이전에 데이터에 대해 숙지하고 있어야 한다. 숙지하는 과정으로 기술 통계부터 살펴보자. 신용카드 사기 데이터셋 기술통계 - 데이터셋에서의 관찰 값 개수, 각 컬럼의 평균과 표준편차 또는 최댓값/최솟값 등의 기본적인 정보 제공 # 데이터 타입 로드 import pyspark.sql.types as typ fraud = sc.textFile('/Users/hayeon/Downloads/ccFraud.csv') header = fraud.first() fraud = fraud.filter(lambda row : row != header) \ .map(lambda row: [int(ele..

토마스 드라마브, 데니 리의 "PySpark 배우기"를 보고 배워나가는 과정을 기록한 글입니다 ♪ 아웃라이어 - 대부분의 데이터와는 매우 다른 분포를 띄는 데이터 - Q1–1.5*IQR ~ Q3 + 1.5*IQR 범위를 벗어나면 이상치라고 정의한다. - IQR = 상위 75%과 하위 25%의 차 샘플 데이터 생성 >>> df_outliers = spark.createDataFrame([ (1, 143.5, 5.3, 28), (2, 154.2, 5.5, 45), (3, 342.3, 5.1, 99), (4, 144.5, 5.5, 33), (5, 133.2, 5.4, 54), (6, 124.1, 5.1, 21), (7, 129.2, 5.3, 42)], ['id', 'weight', 'height', 'age'..

토마스 드라마브, 데니 리의 "PySpark 배우기"를 보고 배워나가는 과정을 기록한 글입니다 ♪ 데이터가 깨끗한 상태에 있다는 것을 스스로 증명하거나, 테스트하기 전 까ㅣ는 데이터를 모델링에 사용하거나 지나치게 신뢰하면 안된다. 중복값, 결측치, 이상치, 존재하지 않는 주소, 잘못된 전화번호 / 지역코드, 잘못된 데이터 등을 변환해 데이터를 깨끗하게 만들어야 한다. 이번 포스팅에서는 - 중복, 미관찰값, 또는 아웃라이어 다루고 인식 - 통계, 상관관계에 관해 계산 - matpotlib, Bokeh를 이용한 데이터 시각화 중복, 미관찰값, 아웃라이어 확인하기 * 데이터를 완전히 검증하거나 검증 결과에 만족하기 전까지는 데이터를 신뢰하거나 사용해선 안된다 중복 값 >>> df = spark.createDa..
https://kibua20.tistory.com/196 Apple App Store 사용자 댓글(리뷰) 데이터 수집하기 (Sample code 포함) 이전 포스팅 (https://kibua20.tistory.com/192)에서는 Python Selenium과 BeatifulSoup을 사용해서 Google Play Store에서 App에 대한 사용자, 작성일, 좋아요, 리뷰 내용의 데이터를 크롤링하는 방법에 대해서 설명했 kibua20.tistory.com 앱스토어 리뷰 크롤링할 때 위 글의 코드만 무조건 따라하세요,, 완벽합니다. 코드는 앱 스토어 웹을 xml로 바꿔서 사용하는 코드입니다. 위 화면 처럼요! 자세한 코드는 제가 작성한게 아니니 위 티스토리를 참고해주세용 전 게임 리뷰를 크롤링했습니다. ..