데이터 분석 part 33

웹 크롤링 개요

크롤링이란?웹 크롤링은 웹사이트에서 데이터를 자동으로 수집하는 기술이다. 크롤러 또는 스크래퍼라고 불리는 프로그램이 웹페이지의 HTML을 가져와 특정 정보를 추출하는 방식으로 동작한다.크롤링은 뉴스, 상품 가격, 리뷰, 통계 데이터 등 다양한 정보를 자동으로 수집하는 데 활용되며, 검색 엔진, 가격 비교 사이트, 데이터 분석 등의 분야에서 필수적인 기술이다. 그로스 마케팅에서 크롤링의 이유와 목적그로스 마케팅에서 크롤링은 데이터를 자동으로 수집하여 경쟁사 분석, 소비자 행동 파악, 광고 최적화, 가격 조정 등 다양한 마케팅 전략을 개선하는 데 활용된다.경쟁사 및 시장 분석 – 경쟁사의 가격 정책, 프로모션, 마케팅 전략을 실시간으로 추적하여 경쟁 우위를 확보하고, 업계 트렌드를 분석하여 소비자 선호도 변..

웹서비스 구현 - 게시판 만들어보기

웹 서비스의 전체 흐름   웹 서비스는 클라이언트(사용자)가 요청을 보내면, 이를 웹 서버와 웹 애플리케이션 서비스(WAS), DBMS가 협력하여 응답을 제공하는 구조이다. 클라이언트가 웹사이트에서 특정 정보를 요청 → 웹 서버에 전달웹 서버가 정적 파일이면 바로 응답하고, 동적 데이터가 필요하면 웹 애플리케이션 서비스에 요청웹 애플리케이션 서비스가 비즈니스 로직을 처리하고, 필요한 데이터가 있으면 DBMS에서 가져옴DBMS가 요청한 데이터를 웹 애플리케이션 서비스로 전달웹 애플리케이션 서비스가 데이터를 가공하여 클라이언트가 볼 수 있는 HTML/JSON을 생성웹 서버가 최종적으로 클라이언트에게 응답요소역할웹 서버HTTP 요청을 받아 웹 애플리케이션에 전달 (정적 파일 제공)웹 애플리케이션 서비스(WAS..

(복습) GCP-VM인스턴스 만들기, mariaDB 및 파이썬 설치/ 파이썬과 SQL 연동

저번시간에 했던 GCP VM 인스턴스 만들고 환경설정하는 법과 mariaDB 및 파이썬 설치 파이썬과 SQL 연동실습했던 것을 복습해 보았다.    VM 인스턴스 만들고 환경설정하기                    먼저 구글 클라우드 플랫폼에 접속하여 계정을 만들고 무료로 시작하기를 클릭한다. VISA나 MASTER 신용/체크카드를 미리 준비해서 등록하고 무료제공 3개월을 뽑아먹어보자.계정 생성후 Compute Engine으로 들어가서 VM 인스턴스를 클릭한다.   그 다음 인스턴스 만들기를 클릭한다.   머신 구성에서 이름을 설정하고 (소문자, 숫자, - (하이픈)만 가능), 리전은 서울을 찾아서 설정한다.   OS 및 스토리지에 들어가서 변경을 눌러 부팅디스크를 ubuntu로 설정하고 버전은 ubu..

MariaDB ALTER TABLE / Python과 SQL연동 / 헷갈리는 개념 다시 정리

MariaDB ALTER TABLE MariaDB에서 기존 테이블의 구조를 변경하는 데 사용.열 추가, 삭제, 수정, 인덱스 추가, 제약 조건 변경 등의 작업을 수행.  열 추가 (ADD COLUMN)ALTER TABLE employees ADD COLUMN email VARCHAR(100) AFTER name;새로운 email 열을 추가.   열 삭제 (DROP COLUMN)ALTER TABLE employees DROP COLUMN department;기존 department 열을 삭제.   열 이름 변경 (CHANGE COLUMN)ALTER TABLE employees CHANGE COLUMN salary monthly_salary DECIMAL(10,2) NOT NULL;salary 열의 이름을 ..

mariaDB에서 여러테이블 다루기(JOIN,UNION), 집계 함수와 그룹화

JOIN, UNION을 쓰는 이유? 하나의 테이블에 데이터를 다 담기란 어렵기 때문. 데이터베이스에서는 데이터를 보다 효율적으로 관리하기 위해 테이블을 분리하여 저장하는 경우가 많다.   JOIN - 여러 테이블의 데이터를 조합하여 원하는 정보를 조회 JOIN 유형포함되는 데이터 설명INNER JOIN두 테이블에서 일치하는 데이터만 반환(공통된 데이터만 표시)교집합을 반환하며, 일치하지 않는 데이터는 제외LEFT JOIN왼쪽 테이블의 모든 데이터 + 오른쪽 테이블에서 일치하는 데이터왼쪽 테이블을 기준으로, 일치하는 데이터가 없으면 NULL 반환RIGHT JOIN오른쪽 테이블의 모든 데이터 + 왼쪽 테이블에서 일치하는 데이터오른쪽 테이블을 기준으로, 일치하는 데이터가 없으면 NULL 반환FULL OUTER..

MariaDB로 SQL 다뤄보기

터미널 접속시 항상 해야 하는일cd /    → 루트 디렉토리로 들어가야 유저 명령을 줄 수 있다. cd var → var 디렉토리로 들어가기그 다음에 mysql -u user1 -p → 기존 계정으로 접속하기  ※ "Access denied for user 'user1'@'localhost'" 뜰때 해결방안1) 해당 디렉토리 들어갔는지 확인 (나의 경우 루트 디렉토리에서는 로그인이 안되고 var 디렉토리 가야 로그인이 되는경우가 있었다. 하지만 루트 디렉토리에서도 될때 있다는게 함정. (뭐지..))2) ALTER USER 'user1'@'localhost' IDENTIFIED BY '새로운_비밀번호';    FLUSH PRIVILEGES;     - 루트계정에서 비밀번호 변경해서 들어가자.3) GRAN..

GCP VM 설정 및 Maria DB설치, SQL 기본 문법

1. GCP 가입 (구글 클라우드 플랫폼) 2. VM Set up (버추얼 머신 셋업)- VM 인스턴스 생성 이름 규칙은 소문자, 숫자, - 만 사용가능이름과 지역은 asia- seoulO/S는 우분투 (20.04LTS)로 설치한다. 네트워킹 탭에서 HTTP 트래픽 허용 / HTTPS 트래픽 허용 클릭. 3. 서버 연결을 위한 SSH 키 생성(KeyGen)- Putty gen을 이용 (window만 지원)SSH Public키와 SSH Private키 받을 수 있음. 4. GCP에 SSH Key 등록- GCP에는 SSH public 키를 등록한다. (복붙)(경로 : Compute Engine > 메타데이터 > SSH키 > SSH키 추가) 5. Filezila 설정 (FTP 클라이언트 (FTP → 서버에 데..

Pandas 데이터 정렬, 필터링, 그룹화, 집계

Pandas 데이터 정렬 (sorting) sort_values() 를 활용한 단일 열(컬럼) 정렬 ascending=True → 오름차순(작은 값부터 큰 값 순서)ascending=False → 내림차순(큰 값부터 작은 값 순서)df_sorted_asc = df.sort_values(by="매출액", ascending=True)print(df_sorted_asc)위의 예시는 sort_values()를 이용하여 '매출액'을 기준으로 오름차순으로 정렬한 것이다.  여러 열 기준 정렬by=["매출액", "클릭수"] → 두 개의 열을 기준으로 정렬ascending=[False, True] → 첫 번째 기준(매출액)은 내림차순, 두 번째 기준(클릭수)은 오름차순 정렬# 먼저 매출액을 내림차순 정렬한 후, 동일한..

Pandas 기초

Pandas 란?Python에서 데이터 분석과 조작을 쉽게 할 수 있도록 하는 오픈소스 라이브러리엑셀과 유사한 데이터 구조 제공. 표 형태의 데이터를 효율적으로 다룰 수 있음.Numpy 기반(C언어로 작성한 라이브러리)이라 고속 연산 가능.데이터 정리, 변환, 분석, 시각화 등의 기능 제공.CSV(DB의 공통 표준), Excel, JSON, SQL, 등 다양한 형식의 데이터 처리 가능.누락된 데이터인 결측값(NaN) 처리 기능 제공. (NaN = Not a Number)다른 라이브러리와 호환성 매우 좋음. Pandas 불러오기import pandas as pd # 일반적으로 'pd'라는 별칭으로 사용  Pandas의 데이터 구조Series : 1차원 데이터 구조 (엑셀의 한 열과 유사)리스트와 유사하지..

함수, 클래스, 모듈과 패키지

함수는 특정작업을 수행하는 코드 블록 기본 구조def 함수이름(매개변수1, 매개변수2, ...): 실행할 코드 return 반환값함수를 정의하는 부분이 있고 사용하는 부분이 따로 있다.def 뒤에 함수이름을 써준다.함수 이름은 함수를 만드는 사람이 임의로 만들 수 있다.함수이름 뒤 괄호안의 매개변수는 이 함수에 입력으로 전달되는 값을 받는 변수이다.return은 함수의 결과값을 리턴하는 명령어.프로그램에서 함수는 입력, 출력이 없을 수 있다.  매개변수와 인수def add(a,b): # a, b는 매개 변수 return a+bprint(add(3,4)) # 3, 4는 인수a,b는 매개변수이며, 3,4는 인수이다.매개변수 - 함수에서 정의되어 사용되는 변수 (=인자, ..