분류 전체보기 364

error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/

pip install channels channels를 설치하며 생긴 에러이다. ...중략 building 'twisted.test.raiser' extension error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/ ---------------------------------------- ERROR: Command errored out with exit status 1: '..' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'...'"'"'; __file..

에러 2020.11.01

포켓몬

# 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. # 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다. # 첫 번째(3번), 두 번째(1번) 폰켓몬을 선택 # 첫 번째(3번), 세 번째(2번) 폰켓몬을 선택..

오픈 채팅

프로그래머스 실력 체크 level 2. 오픈 채팅 소요시간 40분 문제 # 오픈채팅방 # 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. # 신입사원인 김크루는 카카오톡 오픈 채팅방을 개설한 사람을 위해, 다양한 사람들이 들어오고, 나가는 것을 지켜볼 수 있는 관리자창을 만들기로 했다. 채팅방에 누군가 들어오면 다음 메시지가 출력된다. # [닉네임]님이 들어왔습니다. # 채팅방에서 누군가 나가면 다음 메시지가 출력된다. # [닉네임]님이 나갔습니다. # 채팅방에서 닉네임을 변경하는 방법은 다음과 같이 두 가지이다. # 채팅방을 나간 후, 새로운 닉네임으로 다시 들어간다. # 채팅방에서 닉네임을 변경한다. # 닉네..

인덱스 정렬하기

프로그래머스 실력 체크 level 1. 인덱스 정렬하기 문제 # 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. # 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1의 문자 u, e, a로 strings를 정렬합니다. # 제한 조건 # strings는 길이 1 이상, 50이하인 배열입니다. # strings의 원소는 소문자 알파벳으로 이루어져 있습니다. # strings의 원소는 길이 1 이상, 100이하인 문자열입니다. # 모든 strings의 원소의 길이는 n보다 큽니다. # 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다. #..

가운데 글자 반환하기

프로그래머스 실력 체크 level 1. 가운데 글자 반환하기 문제 # 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. # 단어의 길이가 짝수라면 가운데 두 글자를 반환하면 됩니다. # s는 길이가 1 이상, 100 이하인 스트링입니다. # input ouput # abcde c # qwer we 나의 풀이 s = input() # input으로 문자열을 입력 받는다. if len(s) % 2: # 만약 s의 글자 수가 2로 나누었을때 0 이라면 print(s[len(s)//2]) # 문자열을 반으로 나누어 반환. else: print(s[(len(s)//2 -1) : len(s)//2+1]) # 짝수라면 가운데 2글자를 반환한다. 느낀점 문자열 인덱스의 슬라이싱을 다시 한번 상..

github의 크롤링

데이터 시각화를 위한 크롤링을 연습하던 중 github에 하루에 커밋한 날짜를 가져와 데이터를 뽑아내었지만 분명 잘 html에서는 잘 나왔지만 막상 크롤링을 시도해 보면 값이 비어있는 모습이 자꾸 보였다. 도대체 왜 이럴까 하며 selenium과 BeautifulSoup를 모두 써보았지만 결과는 똑같았다.. 하지만 오늘 어이없는 결과가 나왔다. 그건 바로 내가 로그인하여 보았을 때와 일반 url 경로로 들어왔을 때와 다르단 점.. Private으로 만든건 외부 사용자는 안 보인다 ;ㅎ; 왜 짝이 안맞나 계속 고민하며 selenium을 익혀 보았지만 결국 시도했단 모든 행동이 정답이었고 내 눈에만 안보였던것 같다

끄적끄적 2020.09.30

python selenium을 이용한 크롤링

왜 ? Selenium을 사용하는가 github에서 그날 커밋한 data-count가 0일 경우 알람을 보내주는 기능을 개발하는 중 일반적으로 requests를 사용해 데이터의 짝이 안맞는 현상을 발견 원인과 해결 방법 js 렌더링을 통해 데이터를 가져올 경우 request에 값이 안담겨 있다는 정보를 확인 후 Selenium을 통해 chrome을 직접 열어 데이터를 가져오면 되지 않을까? 라는 생각에 Selenium을 사용하게 되었습니다. 셀레니움 및 웹드라이버 설치 pip install selenium pip를 이용해 selenium을 설치하여 줍니다. (저는 이미 설치하였습니다.) 이제 해당 사이트 sites.google.com/a/chromium.org/chromedriver/downloads에서..

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

참고 : emessell.tistory.com/148 해당 사이트를 보며 해결하여 진행하였습니다. --- 에러 전문 : SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape selenium을 이용해 크롤링을 하는 중 발생한 에러 입니다. 문제의 코드 라인입니다. driver = webdriver.Chrome('C:\Users\kas23\Downloads\chromedriver.exe') 해결 1 : r을 붙여준다. driver = webdriver.Chrome(r'C:\Users\kas23\Downloads\chromedriver.exe') 문자열 앞에 ..

에러 2020.09.25

python schedule 라이브러리 사용하기

Schedule란? Schedule란 특정한 작업, 함수 수행을 주기적으로 실행하기 위해 사용하는 함수입니다. 예를들어 월,화,수,목,금 오전 7시에 알람을 울리게 설정한다면 평일 오전 7시에는 알람이 울리겠죠? 이것이 스케줄려입니다. 해당 글은 lemontia.tistory.com/508 의 lemontia님 글을 참고하여 작성하였습니다. python에서의 Schedule 사용 pip install schedule pip를 이용해 schedule을 설치하여 줍니다. schedule를 작성할 파일을 만들어줍니다. 만들며 주의사항 ==> integer-ji.tistory.com/318 schedule_test.py 파일 생성 from schedule import * import schedule import..