본문 바로가기

전체 글

(92)
[selenium4 기준] Python으로 인스타그램 크롤링 알고리즘 짜기 최근에 Selenium4로 업데이트 되면서 기존에 짜놓은 코드가 돌아가지 않는 현상을 겪고 있고, Instagram도 Frontend 로직이 바뀌면서 많은 독자가 어려움을 겪었다. 그래서 이번에 Selenium4와 최신 코드를 기준으로 자동으로 정보를 긁어올 수 있는 크롤러를 새로 개발하여 공개하고자 한다. 목차 1. 셀레니움 설치 및 기본 함수 소개 2. 셀레니움으로 인스타그램에 로그인하기 3. 인스타그램 크롤링 코드 Logic 설명 4. Pandas를 활용한 DataFrame 형성 5. 전체 코드 소개 1. 셀레니움 설치 및 기본 함수 소개 자신의 컴퓨터에 셀레니움 설치하는 방법 셀레니움4를 설치할 때는 두 가지 사항만 진행하면 아주 간단하게 할 수 있다. 첫 번째는 로컬 환경 내에 pip insta..
[Bigquery] SQL로 Loop과 While 반복문 제어하기(feat. 절차적 코드) 빅쿼리 환경에서는 절차적 코드 기법으로 데이터를 전처리할 수 있다. 그 중에서 대표적인 방법인 Loop와 While을 통해 코드를 구성하여 작업 시간을 단축시켜줄 기법을 소개하고자 한다. 목차 1. 빅쿼리의 절차적 코드와 반복문 기본 소개 2. Loop 문을 통한 반복문 제어 3. While 문을 통한 반복문 제어 1. 빅쿼리의 절차적 코드와 반복문 기본 소개 빅쿼리에서는 사용하는 리소스만큼 과금이 되는 형식이기 때문에 코드 효율성에 따라 운영 비용도 달라진다. 실제로 GCP 정책상 사용되는 리소스 1TB당 약 $5의 과금을 실시하고 있는데, CRUD 과정에서 1TB는 아주 쉽게 쓰일 수 있기 때문에 효율적인 데이터 파이프라인 관리 및 SQL문 작성은 필수적이다. 이를 위한 솔루션이 바로 절차적 언어이다..
Python과 Bigquery 1분만에 연동하기 파이썬과 Biquery를 연동하는 방법은 크게 두 가지가 있다. 하나는 pandas의 read_gbq 함수이고, 두번째는 client 패키지를 이용하는 것이다. 목차 1. Google Cloud PlatformConsole 기본 준비하기 2. Pandas의 read_gbq 방법으로 통해 연동하기 3. bigquery의 client 함수를 통해 연동하기 1. Google Cloud Platform 기본 준비하기 이번 포스팅은 Google Cloud Console에 자기의 프로젝트가 준비가 되어있어야 한다. 프로젝트 기본 설정하는 방법은 이전 포스팅인 "Big Query로 SQL 마스터 - 1. 프로젝트 설정하기"에 있으니 참고하길 바란다. 다음에 준비해야 하는 것은 서비스 계정 생성 및 JSON 파일을 출..
[Python] 데이터 추가 하기 - append, extend, insert 3분 마스터 Python List에서는 크게 3가지 방법으로 데이터를 추가할 수 있다. append(), insert(), 그리고 extend() 메소드를 통해서 가능하고 특히 데이터 전처리 상황에서 유용하게 쓰일 수 있다. 목차 1. append() 사용법 안내 2. extend() 사용법 안내 3. insert() 사용법 안내 1. append() 가이드 append(object)는 리스트 마지막에 object의 형태를 유지하면서 인자를 첨부하는 것이다. 이는 비단 리스트에서 뿐만 아니라 DataFrame에서도 가능한 함수여서 굉장히 편리하다. 1 2 3 4 5 6 7 8 9 10 11 12 list_sample = [1,2,3, 'a'] test1 = ['a','b','c'] ## 데이터 추가하기 list_sa..
[빅쿼리] SQL에서 문자를 날짜 형태로 변환하는 법(parse_date 마스터) 실무자들이 일을 할 때 SQL 환경에서 문자로 정의된 날짜를 실제 Datetime 형태로 전처리해야 하는 경우가 많다. Bigquery와 Oracle에서 문자열 데이터를 전처리하는 방법에 대해서 자세하게 안내해보고자 한다. 목차 1. Bigquery의 날짜변환 함수 소개 2. Bigquery parse_date 함수 활용법 Bigquery의 날짜변환 함수 소개 많은 경우 날짜 형식을 변환하려고 할 때, Could not cast literal "220801" to type TIMESTAMP 와 같은 에러가 뜨면서 전처리하는데 어려움을 겪을 것이다. 지금 전처리하고자 하는 문자열 데이터의 유형에 따라 어떻게 데이터를 처리할 수 있는지에 대해서 소개하는 것이 이번 포스팅의 핵심이다. Bigquery pars..
[Python]이원분산분석(Two-way ANOVA) 코드부터 결과 해석 가이드 Two-way ANOVA는 논문 연구주제부터 실무에서까지 굉장히 많이 쓰이는 통계 분석 방법이다. 이원배치분산분석의 개념을 아주 쉽게 설명하는 것부터 시작하여 Stats모델을 통한 코드 및 결과해석 실습까지 해보고자 한다. 목차 1. 이원배치분산분석의 분석 과정 안내 2. 이원분산분석(Two-way ANOVA)의 통계적 개념, 사전 조건, 그리고 가설 3. 기초 데이터셋 설명 및 전처리 안내 - 쉽게 따라하기 4. 상호작용(Interaction Effect)를 통한 결과 해석 이원배치분산분석의 분석 과정 안내 이원배치분산 분석, 왜 그리고 언제 써야 쓰는 모델인가 이원배치분산 분석은 독립변수(범주형 척도)가 2개이고 종속변수(연속형 척도)가 하나일 때 독립변수 간에 나타나는 상호작용을 검증해보기 위해서 ..
[Oracle] 리트코드 176번 Second Highest Salary SQL코드 해설 오늘은 리트코드에서 176번 문제인 Second Highest Salar에 대한 해설을 Oracle 기반으로 해보고자 한다. 이 문제에서 사용할 SQL 개념은 Sub Query, Max 함수 그리고 시공간 복잡도의 효율화이다. 해당 개념들을 최대한 간결하고 쉽게 설명하는 동시에 코드 해설을 해보고자 한다. 목차 1. 문제의 출처 및 기본 설명 2. Oracle 코드 해설 - SQL 코드 효율화하기 문제의 출처 및 기본 설명 문제의 출처는 이 주소에 있으니 참고하길 바란다. 문제의 요구사항은 Employee 테이블에서 2번째로 높은 연봉이 과연 얼마인지 추출하는 것이다. 여기서 또 핵심은 만약 두 번째가 없다면 반드시 null 값을 반환해야 한다는 것이다. Oracle 코드 해설 - SQL 코드 효율화 하..
[Orcale] 리트코드(Leet Code) - Rank Scores 정답 해설(feat. Rank 함수) 리트코드 SQL 문제 중 Rank Scores 정답 누구나 알기 쉽게 해설해보고자 한다. 이 문제의 핵심은 바로 SQL에서 Rank와 dense rank 함수의 차이를 이해하고 적용하는 것인데, 개념부터 실전 코드까지 활용할 수 있도록 최대한 자세하게 안내해보고자 한다. 목차 1. 리트코드 Rank Score 문제 기본 해설 2. Oracle의 Rank와 Dense Rank 함수 설명 3. Rank Score 코드 정답 리트코드 Rank Score 문제 기본 해설 리트코드는 문제의 양도 많고 질도 좋은데, 가장 어려움을 겪을 수 있는 부분이 바로 영어로 되어있다는 것이다. 여기서는 그 고민을 해결해주기 위해서 다 번역을 하고 문제의 핵심만 설명하고자 한다. (문제의 링크) 데이터셋의 기본 설명 - Sco..

728x90
반응형