일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Real or Not? NLP with Disaster Tweets
- hackerrank
- Kaggle
- 금융문자분석경진대회
- 프로그래머스
- 편스토랑
- 백준
- 캐치카페
- 편스토랑 우승상품
- gs25
- 파이썬
- 프로그래머스 파이썬
- dacon
- leetcode
- 우분투
- 더현대서울 맛집
- 데이콘
- github
- AI 경진대회
- ChatGPT
- 맥북
- 자연어처리
- Docker
- programmers
- PYTHON
- ubuntu
- Baekjoon
- SW Expert Academy
- Git
- 코로나19
- Today
- Total
목록
반응형
Programming/Python (108)
솜씨좋은장씨
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ctwVbu/btqyUgwI0jm/l8AHdPTkXY14QE3MBViaJK/img.png)
요즘 들어서 대만카스테라, 벌집아이스크림 때처럼 흑당 버블티 가게가 우후 죽순 생겨나고 있습니다. 인스타그램 태그를 활용하면 흑당버블티에 대한 동향을 알 수 있을까라는 의문점이 들었고 셀레니움을 활용한 인스타그램 크롤링을 통해 흑당버블티에 대한 분석을 해보았습니다. 먼저 #흑당버블티 태그가 달려있는 게시물의 개수가 몇 개 인지 확인해보니 무려 76,291개나 되었습니다. 처음 목표는 이 76,291개 전체를 다 크롤링해와서 주마다 게시물 개수의 추이도 보고 # 흑당버블티 태그가 달려있는 글 들 속에서 각 회사별로 몇 번씩 언급이 되었는지 확인해보는 것이 목표였습니다. 그러나!!!!! 정말 앗, 이런! 하는 오류였습니다. 목표인 76,291개를 도달하기 전에 크롬드라이버가 다운이 되어버렸습니다. 제 추측으..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/sgCFD/btqyM2xyXut/Ix1OVq1nK0Ui7i1ol9lq90/img.png)
1. 주제를 선택한 계기 특정 프랜차이즈에 관련된 최근 키워드를 알려주려면 어떤 것을 참고하면 좋을까 생각하다가 인스타그램에 걸려있는 특정 주제에 대한 여러 태그들을 크롤링하여 그 태그들을 빈도수로 정렬하여 보여주면 어떨까 생각해보았고 보여줄때 그냥 글자, 빈도수 이렇게 보여주면 재미 없으니 워드클라우드로 그려서 보여주면 어떨까 생각하여 일단 한번 해서 확인해보자라는 생각으로 해보게 되었습니다. 2. 태그 크롤링 하기 군 생활을 하면서 부대 근처에 있어 자주 갔던 커피베이 태그를 검색해서 그 글 속에 있는 태그들을 크롤링 해보기로 했습니다. 크롬 개발자 도구를 활용하여 태그를 검색하고 나오는 그 페이지의 코드를 확인해보니 클릭하지 않는 이상 각각의 게시글에 있는 태그를 가져올 수 없었습니다. Seleni..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cZQpQO/btqyIjUPT1Y/YIMWFqWcyu9R90l5RdCam0/img.png)
작업 환경은 아래와 같습니다. - OS : Mac OS Catalina - jupyter notebook, python3 음성파일은 아래의 홈페이지에서 녹음 후 컴퓨터에 저장하였습니다. Online Voice Recorder online-voice-recorder.com ETRI에서 제공하는 open API 중 음성인식 API를 사용하려고 녹음한 음성 mp3파일을 api에 요청변수로 보내니 {"result":0,"return_object":{"recognized":"ASR_NOTOKEN"}} 위와 같이 "ASR_NOTOKEN"이라는 결과를 확인할 수 있었습니다. ETRI 홈페이지를 가보니 해당하는 오류는 파일이 샘플링 주파수(16kHz)가 맞지 않았을때라는 결과를 볼 수 있었습니다. 위를 해결하기 위해서..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bPHbfC/btqyEzIsRlL/NFgqwJI1OokyWLq0LkHiaK/img.png)
과거의 영화 줄거리, 평점, 장르 데이터를 가지고 새로운 영화의 평점을 예측하는 모델을 만들 때 학습데이터로 사용하기 위한 데이터들을 크롤링해오기 위한 코드를 짜 보았습니다. 데이터를 수집하기 위한 크롤러를 제작하는데에는 Selenium, BeautifulSoup 그리고 requests를 사용했습니다. 네이버 영화에서 데이터를 수집해오기는 해야하나 순차적으로 데이터를 가져올 수 있도록 링크를 어디서 가져올까 고민하던 중 네이버 시리즈에 18812개의 영화 링크가 있는 페이지를 찾았습니다. 저는 이 페이지에서 판매순으로 가져오기로 했습니다. from bs4 import BeautifulSoup import requests from selenium import webdriver as wd from selen..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/PNKcz/btqyxpeFgY1/qc4r5G9TxUChUsGKmSDQi1/img.png)
Jupyter notebook을 사용하면서 새로운 python3 노트북을 만들기 위해서는 New 버튼을 클릭해야합니다. 그런데 가끔 크롬으로 Jupyter notebook을 열고 New버튼을 클릭하였는데도 반응이 없고 터미널에 나오는 오류 내용도 없을때 방법을 알려드립니다. 이 방법은 터미널과 다른 다른 브라우저에서는 이상이 없고 오직 크롬에서만 이러한 현상이 있을때 조치가 가능한 방법입니다. 아래에서 설명하는 방법을 따라 테스트해보기 바랍니다. 먼저 다른 브라우저에서도 반응이 없는지 확인합니다. >> Mac이라면 사파리, Windows라면 internet explorer에서 동작하는지 확인합니다. >> 확인을 위해 아래의 명령어를 활용합니다. $ jupyter notebook --no-browser >..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cD8oxH/btqygiaEhzn/6cmHqtmk8k1gi2yUkX9Bg1/img.png)
2년의 데이터를 가지고 도출한 최적의 귀경시간 본 표에 적혀있는 시간은 그저 받아온 데이터를 그래프로 그리고 눈으로 확인해보며 선정한 시간입니다. 만약에 보시게 된다면 재미로 참고만 하시기 바랍니다~ 출발지 추석 1일 후 소요시간 추석 2일 후 소요시간 대전 07:00 ~ 09:00 약 1시간 30분 ~ 2시간 07:00 ~ 09:00 약 1시간 30분 대구 06:00, 09:00 약 3시간 06:00, 09:00 약 3시간 부산 04:00, 06:00 약 5시간 04:00, 06:00 약 5시간 광주 07:00 ~ 08:00 약 3시간 40분 09:00 경 약 3시간 40분 강릉 08:00 경 약 2시간 30분 08:00 경 약 2시간 30분 앞서 받아와 만들었던 DataFrame을 그래프로 그려 최적..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/E2FRw/btqyh0Go4OC/N6KzIgKsOkD62ne8AzNK21/img.png)
[Python]과거의 데이터로 최적의 추석 귀경시간 추측해보기(feat, matplotlib) 2년의 데이터를 가지고 도출한 최적의 귀경시간 본 표에 적혀있는 시간은 그저 받아온 데이터를 그래프로 그리고 눈으로 확인해보며 선정한 시간입니다. 만약에 보시게 된다면 재미로 참고만 하시기 바랍니다~ 출.. somjang.tistory.com 아래의 과정을 바탕으로 위의 결과를 만들어 보았습니다. 오늘은 목, 금, 토 2019년 추석연휴의 마지막 날! 자소서 쓰는건 재미없고, 뭔가 재밌는걸 해볼까 고민하다가 귀경길이 시작되었다는 기사를 보고 관련 데이터를 모아보고 그 데이터를 pandas의 Dataframe으로도 만들어보기도하고 그래프도 그려보면 어떨까 싶어 검색을 하기 시작했습니다. 검색을 하던 중 고속도로 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/mdu13/btqygCTLt5h/YOqNNnqI7bIWDK0KIQkG1K/img.png)
제가 즐겨보는 Youtube B Man채널에서 제 최애 영화인 어벤져스 엔드게임의 영화 명장면을 정리한 어벤져스 엔드게임 명장면 총정리라는 영상의 댓글 가져오기를 해보았습니다. 인스타그램 크롤링 코드가 필요하신 분은 아래의 링크를 참고해주세요! [Python] Selenium을 활용하여 인스타그램 크롤링 하기! 이번 글에서는 Python과 Selenium을 활용하여 인스타그램 게시물을 크롤링하는 방법에 대해서 적어보려 합니다. 해당 코드를 활용하여 발생하는 문제는 코드 사용자에게 있음을 알려드립니다. 1. 필 somjang.tistory.com 1. requests와 BeautifulSoup를 활용하여 시도하기 처음에는 requests와 BeautifulSoup를 사용하여 댓글 가져오기를 시도했습니다. ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cmcMro/btqyfNBNxLG/DCORGt25VkNlvOEUqVX2T1/img.png)
1. 활용하게 된 계기 태풍이 오기 직전이었던 2019년 8월 11일 토요일 냉면투어를 위해 백령도로 향했던 필자는 태풍으로 인하여 예상치 못한 일에 봉착한 적이 있었습니다. 바로 태풍의 북상으로 인한 먼 바다 풍랑주의보로 인하여 선박 운항을 하지 않는다는!!!!!! 청천벽력과 같은 내용의 문자가 날아왔던 것입니다. 아니 이럴수가, 1박 2일로 짧게 계획 했던 여행은 그렇게 3박 4일의 긴 여행으로 변하였습니다. 여러 선박회사와 연안여객터미널로 연락하여 배가 출항하는지 여부를 확인하던 차에 머리에 스치고 갔던 것이 오픈 API였습니다. 미세먼지 정보를 알려주는 미세먼지 API처럼 선박 운항 관련 정보를 제공하는 API도 있지 않을까? 바로 공공데이터포털에 접속하여 검색하여보니 국제 및 연안 여객 터미널 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cqq4mr/btqyfsKU4YZ/1dfPdwTVZmy2vPxTsVqgKK/img.png)
먼저 아나콘다를 설치하고 진행하기 바랍니다. 아나콘다 설치는 아래의 링크를 참고해주시기 바랍니다. [Python]Ubuntu18.04 LTS에 Anaconda설치하기 1. Anaconda 설치파일 다운로드 받기 Google Chrome을 켜고 아나콘다 설치파일 다운로드페이지로 이동합니다. https://www.anaconda.com/distribution/ Anaconda Python/R Distribution - Free Download Anaconda.. somjang.tistory.com 1. Jupyter Notebook 설치하기 $ conda install jupyter 중간에 conda를 업데이트하겠다고하며 계속 진행하겠냐고 물어봅니다. y를 입력하여 계속 진행합니다. 위와 같이 나온다면 설치..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bpOvXW/btqygtB4Hnd/CqAOzboqb9WiitGKHYHtg0/img.png)
1. Anaconda 설치파일 다운로드 받기 Google Chrome을 켜고 아나콘다 설치파일 다운로드페이지로 이동합니다. https://www.anaconda.com/distribution/ Anaconda Python/R Distribution - Free Download Anaconda Distribution is the world's most popular Python data science platform. Download the free version to access over 1500 data science packages and manage libraries and dependencies with Conda. www.anaconda.com 스크롤하여 아래로 내려가면 Windows, macO..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bfwunw/btqx81FhRVM/eVKxB8l7q92p86V0q63fg0/img.png)
1. Open Foler 맨 왼쪽 가장 위에있는 문서모양의 메뉴를 누른 뒤 나오는 파란색 Open Folder버튼을 눌러 열고 싶은 폴더를 열어줍니다. 저는 먼저 만들어 두었던 PythonHome을 열었습니다. 열면 PYTHONHOME 안에 있는 파일들이 보이게 됩니다. 지금 보이는 sqlite3.exe는 sqlite3를 사용하기 위해서 넣어놓은 파일입니다. sqlite3를 사용하지 않을예정이면 신경쓰지 않으셔도 됩니다. 자세한 내용은 아래 링크를 참고해주시기 바랍니다. https://somjang.tistory.com/entry/SQLite3-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0 [Windows10]SQLite3 설치하기! 1. SQLite 파일 다운로드 받기 https:/..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/GJMqt/btqx8S2TFqI/PAzal6rkKYYMCDNHExGah0/img.png)
1. Open Folder 먼저 왼쪽 메뉴 중 가장 위에 있는 문서모양 버튼을 클릭하여 줍니다. 그럼 Open Folder 라고 파란 버튼이 나오게 됩니다. 버튼을 클릭해서 미리 가상환경까지 만들어 두었던 PythonHome을 선택해 줍니다. PythonHome 폴더를 만들고 싶으신 분들은 터미널에서 아래의 코드를 타이핑하여 만드시면 됩니다. $ mkdir ~/PythonHome 가상환경 설정방법이 궁금하신 분들은 아래의 링크를 참고해주세요 https://somjang.tistory.com/entry/Pythonvirtualenv-virtualenvwrapper-설치-및-사용법Ubuntu?category=345065 [Python]virtualenv / virtualenvwrapper 설치 및 사용법(U..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cFsDBa/btqx7l6fwBm/6jQoh4KLmCXJ2JC1AqtPtk/img.png)
1. 패키지 설치하기 $ sudo apt-get update $ sudo apt-get upgrade 먼저 apt-get을 최신으로 업데이트 해 줍니다. 그 다음 $ sudo pip3 install virtualenv virtualenvwrapper 명령어로 설치해 줍니다. 설치가 완료되면 위 처럼 나오게 됩니다. 2. 제대로 동작하는지 확인해보기 먼저 가상환경을 만들고자 하는 디렉터리로 이동해줍니다. $ mkdir ~/PythonHome 저는 위의 명령어를 통하여 user home안에 PythonHome이라는 디렉터리를 만들었습니다. $ cd ~/PythonHome 희망하는 디렉터리로 이동해줍니다. 이동한 뒤 $ virtualenv --python=python3 myenv 명령어로 가상환경 하나를 생성..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/zFLho/btqx7KkrmvM/HS3pg6UT3fvXHNuL03hi01/img.png)
새로 Python 3.7을 설치한 뒤 기존에 사용하던 Python3.6이아닌 새로 설치한 Python 3.7을 사용하고자 하는데 $ python3 -V 실행 시 usr@usr-VirtualBox:~$ python3 -V \n Python 3.6.8 아직도 Python 3.6을 가리키고 있어 Python 3.7을 가리킬 수 있도록 Path를 Python 3.7.4로 설정해주는 방법입니다. 방법은 다음과 같습니다. 1. Python 3.7.4 설치 위치 확인하기 먼저 which 명령어를 사용하여 어디에 설치가 되어있는지 확인합니다. $ which python3 /usr/local/bin/python3 경로를 얻었으면 이제 PATH를 설정하러 갑니다. 2. PATH 설정하기(bashrc 파일 수정) 먼저 터미..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/baK5ne/btqx6zKzI6g/GARtX8C8wxVAETCSVyG5gk/img.png)
1. Python 설치 전 라이브러리 설치하기 Ubuntu(또는 Putty)에서 터미널을 열어 아래의 코드를 입력합니다. 설치 중간 중간에 [ y | n ] 중에 고르라고 나오면 y를 타이핑하고 엔터를 해주시면 됩니다! $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get dist-upgrade $ sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus $ sudo apt-get install libncursesw5-dev libgdbm-dev libc6-dev $ sudo apt-get install zlib1g-dev libsqlite3-dev..
Problem completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요.제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 입출력 예 participantcompletionreturn [leo, kiki, eden] [eden, kiki] leo [marina, josipa, nikola, vinko, filipa] [josipa, filipa, marina, nikola] vinko [mislav, stanko, mis..
카카오 코딩테스트를 준비할 겸 프로그래머스 Level3 문제를 풀어보았습니다. Problem 이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조를 말합니다. 명령어수신 탑(높이) I 숫자 큐에 주어진 숫자를 삽입합니다. D 1 큐에서 최댓값을 삭제합니다. D -1 큐에서 최솟값을 삭제합니다. 이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0,0] 비어있지 않으면 [최댓값, 최솟값]을 return 하도록 solution 함수를 구현해주세요. 제한사항 operations는 길이가 1 이상 1,000,000 이하인 문자열 배열입니다. operations의 원소는 큐가 수행할 연산을 나타냅니다. 원소는 “명령어 데이터” 형식으로 주어집니다.-..