프로그래머스 | 의상 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(clothes): # 각 종류별 가진 의상을 저장 (종류:[이름, 이름, ...]) closet = {} for name, kind in clothes: if kind in closet.keys(): closet[kind] += [name] else: closet[kind] = [name] # A의 종류가 N개, B의 종류가 M개 일 때 가능한 모든 경우의 수 (N+1)(M+1) answer = 1 for _, value in closet.items(): answer *= (len..
ChromeDriver 115 버전 이후 드라이버 다운로드 및 AttributeError 오류 해결 방법
·
TIL/오류해결
현재 시점 기준(2023.08) 크롬 드라이버가 116 버전이 되면서 이전의 방법으로는 오류가 해결되지 않는다. 115, 116 버전으로 새로 업데이트됨에 따라 새로운 드라이버를 설치해주어야 하는데 설치 방법은 다음과 같다. 아래 크롬 드라이버 다운로드 사이트에서 각 버전에 맞는 드라이버를 설치하면 된다. ChromeDriver - WebDriver for Chrome - Downloads Current Releases If you are using Chrome version 115 or newer, please consult the Chrome for Testing availability dashboard. This page provides convenient JSON endpoints for spec..
python | for 또는 *를 사용해 2차원 리스트 생성 시 주의할 부분(얕은 복사 개념)
·
TIL/python
평소와 똑같이 백준 문제를 풀고 있던 중 리스트를 만들다가 이상한 점을 발견했다. 리스트 안에 빈 리스트를 3개를 만들기 위해 다음과 같이 코드를 작성했다. A = [[] for _ in range(3)] B = [[]] * 3 A, B를 출력해 보면 [ [ ], [ ], [ ] ] 이런 형태의 2차원 리스트가 만들어지는 것을 볼 수 있다. 똑같아 보이지만 A, B는 차이가 있다. 이 차이는 값을 추가하거나 변경할 때 볼 수 있다. 다음과 같이 각 리스트의 0번 인덱스, 즉 0번 리스트에 1을 추가할 것이다. A[0].append(1) B[0].append(1) 위 코드로 우리가 의도하는 결과는 [ [1], [ ], [ ] ]이다. 하지만 실제로 A와 B를 출력해 보면 두 결과는 다른 것을 볼 수 있다...
카카오맵 리뷰 크롤링 하기 with Selenium, BeautifulSoup
·
TIL/python
공모전 준비를 위해 작성했던 크롤링 코드를 정리하는 글입니다. 크롤링 과정을 간단히 작성하면 다음과 같다. 크롬 웹드라이버에서 '전주 한옥숙소' 검색 검색 결과에서 상세정보 탭으로 이 상세정보에서 리뷰 추출 먼저 webdrvier-manager를 설치한다. pip install webdriver-manager time 라이브러리와 warning을 무시하기 위한 라이브러리를 import 한다. import time import warnings warnings.filterwarnings('ignore') 크롤링을 위해 필요한 라이브러리도 import 해준다. 동적 크롤링을 위해 selenium을 사용하였고, webdriver로는 크롬드라이버를 사용했다. from selenium import webdriver..
네이버 지도 리뷰 크롤링하기 with Selenium, BeautifulSoup
·
TIL/python
공모전 준비를 위해 작성했던 크롤링 코드를 정리하는 글입니다. 크롤링은 공공데이터포털에서 전국 숙박업소에 대한 데이터를 다운로드하여 해당 데이터에 있는 숙소명을 네이버 지도에 직접 검색하여 리뷰를 가져오는 방식으로 진행했다. 다음과 같은 데이터 df에서 '업소명' 컬럼을 사용했으며, 크롤링 과정을 간단히 작성하면 다음과 같다. 크롬 웹드라이버에서 해당 숙소의 고유 주소로 이동(크롤링 코드에서 고유 주소(url)가 나오니 참고) 해당 숙소 정보에서 리뷰 탭으로 이동 리뷰 탭으로 이동 방문자 리뷰 텍스트를 크롤링 먼저 webdrvier-manager를 설치한다. pip install webdriver-manager time 라이브러리와 warning을 무시하기 위한 라이브러리를 import 한다. impor..
Docker | 장고 프로젝트를 도커 컨테이너로 이동시키기
·
TIL/기타
장고로 만든 프로젝트를 도커 컨테이너로 옮기는 과정을 정리하였다. 도커 설치 과정은 아래 글을 참조해 주길 바란다. Docker | Docker Desktop 설치 및 Docker Desktop requries a newer WSL kernel version 해결 방법 Window 10 Home 환경에서 Docker desktop을 설치하면서 겪은 오류와 어떻게 해결했는지 남기고 같은 오류를 겪는 사람들을 위해 조금이라도 도움이 되었으면 하는 마음으로 글을 작성한다. Docker toolbox는 dduniverse.tistory.com 설치된 도커는 docker -v 명령어를 통해 버전을 확인할 수 있다. 장고 프로젝트를 진행하면서 설치했던 모든 라이브러리들은 가상환경에 저장되어 있다. 이 모든 것들을 ..