일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- dataframe
- 선그래프
- NumPy
- type hint
- Stack
- Join
- Algorithm
- queue
- 프로그래머스
- MySQL
- 정보처리기사 c언어
- programmers
- 알고리즘스터디
- 파이썬
- aws jupyter notebook
- Matplotlib
- pandas
- openCV
- 백준
- 가상환경
- 노마드코딩
- 알고리즘
- 알고리즘 스터디
- javascript
- python
- 코딩테스트
- 자료구조
- String Method
- Selenium
- 데이터시각화
- Today
- Total
목록전체 글 (206)
조금씩 꾸준히 완성을 향해
한국관광공사 홈페이지에서 여행정보를 가져오는 와중에 예기치 못한 에러를 마주했다. selenium 사용 중에 click() 함수가 작동을 하지 않는 것이었다. 원래 이렇게 사이트에 봄여행을 검색해서 특정 페이지까지 텍스트 정보를 긁어오는 게 목적이었다. 여기 보이는 이 버튼을 클릭해서 이동하는 코드를 짜고 있는데, driver.find_element_by_xpath(f'//*[@class="page_box"]/*[@id={i}]').click() 이 코드에서 자꾸 에러가 떴다. ElementClickInterceptedException 이라고 한다. 분명 id 값을 제대로 가져온 게 맞고, 다른 버튼들은 또 잘 작동하니 어리둥절.... 구글링 해서 결국 해결책을 알아냈다. element가 HTML 상에는..
selenium을 사용해서 네이버 로그인을 해보자. from selenium import webdriver import time # webdriver 경로 지정 driver = webdriver.Chrome("./chromedriver.exe") time.sleep(3) #시간 지연 3초 주기 #1. 네이버 이동 driver.get("http://naver.com") #2. 로그인 페이지로 이동 elem = driver.find_element_by_class_name("link_login") elem.click() time.sleep(3) 일단 네이버로 이동해서 로그인 페이지까지 갔다. 아이디, 비밀번호를 입력하려는데 문제가 하나 생겨버린다. driver.find_element_by_id('id').se..
BeautifulSoup에 대한 기본적인 사용법을 정리해 보겠다. ▶ 기본 셋팅 #라이브러리 import import requests from bs4 import BeautifulSoup # 네이버 웹툰 url url = "https://comic.naver.com/index" res = requests.get(url) res.raise_for_status() # html 문서를 가져와서 lxml parser 혹은 html parser를 통해서 soup 객체로 생성 soup = BeautifulSoup(res.text, 'lxml') soup = BeautifulSoup(res.text, 'html.parser') ▶ 태그명 바로 가져오기 print(soup.title.get_text()) # title..
requests 는 웹사이트 정보를 가져올 때 쓰이는 python library이다. 웹 스크래핑/크롤링에 아주 유용하게 쓸 수 있다. ▶ 기본 세팅 import requests res = requests.get("http://google.com") # url 정보 저장 res.raise_for_status() # 문제가 생겼을 경우 바로 에러를 내고 프로그램을 종료 먼저 설치 후 import 해 주고, 정보를 가져올 url를 지정해 준다. 그리고 에러를 대비하는 코드를 추가한다. print("응답코드", res.status_code) # 200이면 정상 사실 이렇게 status_code를 찍어보면 에러가 뜨는지 안뜨는지 확인을 할 수 있다. if res.status_code == requests.cod..
Python에서 문자 혹은 숫자를 판별해 주는 함수들 모음 ▶ str.isalpha() 주어진 문자열이 사람의 언어 문자로만 구성되어 있는지 확인해 준다. 문자열의 모든 요소가 사람의 언어 문자로만 구성되어 있으면 True를 리턴, 아니면 False를 리턴. ※ 주의! 알파벳 뿐만 아니라 다른 언어 문자열도 True! 공백은 문자가 아니므로 False! ▶ str.isdigit() 주어진 문자열이 숫자로만 이루어져 있는지 확인해 준다. 문자열의 모든 요소가 숫자로만 구성되어 있으면 True를 리턴, 아니면 False를 리턴. ▶ str.isdecimal() 주어진 문자열이 십진수(decimal)인 정수로만 이루어져 있는지 확인해 준다. 문자열의 모든 요소가 십진수로만 구성되어 있으면 True를 리턴, 아..
▶ 문제 N개의 수로 이루어진 수열 A[1], A[2], …, A[N] 이 있다. 이 수열의 i번째 수부터 j번째 수까지의 합이 M이 되는 경우의 수를 구하시오. ▶ 입력 설명 첫째 줄에 N(1≤N≤10,000), M(1≤M≤300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다. ▶ 출력 설명 첫째 줄에 경우의 수를 출력한다 ▶ 입력 8 3 1 2 1 3 1 1 1 2 ▶ 출력 5 ▷ 내가 짠 코드 import sys sys.stdin=open("input.txt", "r") n, m = map(int,input().split()) a = list(map(int, input().split()..
decorator 는 함수, 메서드 또는 클래스 정의를 수정하는 데 사용되는 호출가능한 Python 객체이다. 일정 코드가 지속적으로 반복해서 등장하는 것을 함수화하여 축약하고자 등장한 파이썬의 기능이라고 생각하면 이해하기 쉽다. 예시를 통해 사용법을 알아보자. 먼저 이렇게 각기 다른 명언이 담긴 4개의 함수가 있다. def quote_1(): print("I'm as proud of what we don't do as I am of what we do.") def quote_2(): print("The journey is the reward.") def quote_3(): print("Innovation distinguishes between a leader and a follower.") def qu..
▶ pip 설치 $ sudo easy_install pip ▶ pip 버전 확인 $ pip --version ▶ pip 업그레이드 $ pip install pip --upgrade ▶ 패키지 설치 $ pip install 패키지 ▶ 특정 버전 패키지 설치 $ pip install "패키지~=3.0.0 ▶ 설치된 패키지 확인 $ pip freeze ▶ 설치된 패키지 정보를 requirements.txt 파일로 출력 $ pip freeze > requirements.txt ▶ requirements.txt 파일에 있는 모든 패키지를 설치 $ pip install -r requirements.txt
venv 모듈은 파이썬 3.3 부터 내장되어 있는 가상 환경 구성 패키지이다. 별도 패키지 설치없이 파이썬만 설치되어 있으면 사용 가능하기 때문에 쉽고 간단하게 가상환경을 구축할 수 있다. ▶ 가상환경 생성 $ python -m venv .venv .venv 라는 이름으로 환경변수를 생성한다. 이름은 다양하게 지정할 수 있지만 관행적으로 .venv를 많이 쓴다. ▶ 가상환경 활성화 생성된 가상환경 안에서 작업을 하기 위해서는 활성화를 해주어야 한다. 1. 활성화 명령어 (window10) $ .venv\scripts\activate 가상환경이 활성화 되면 이렇게 파일 경로 앞에 가상환경 이름이 붙은 것을 볼 수 있다. 2. interpreter 선택 F1키 또는 "ctrl + shift + p"를 눌러 ..