[Python] 리눅스 서버(centos7)에 파이썬 크롤러 환경 셋팅하기
·
Development/Linux
윈도우에서 테스트용으로 작성한 파이썬 크롤러를 리눅스에도 적용 시키려고 한다. python 버전 업그레이드 현재 centOS7환경을 사용 중이며, 기본적으로 python 2 버전대를 포함하고 있기 때문에 3으로 업그레이드한다. yum install python3.6 업그레이드는 아래 포스팅 참고👇🏻 https://dev-wisdom.tistory.com/141 [centOS7] Python 버전 업그레이드하기 centos7에는 기본적으로 Python 2.7.5 (default, Oct 14 2020, 14:45:30)가 설치되어있다. 현재 사용중인 python 코드의 버전은 3.7.9이여서 버전 업그레이드를 했다. # python -v Python 2.7.5 (default, Oct 14 2020, 14..
[centOS7] Python 버전 업그레이드하기
·
Development/Python
centos7에는 기본적으로 Python 2.7.5 (default, Oct 14 2020, 14:45:30)가 설치되어있다. 현재 사용중인 python 코드의 버전은 3.7.9이여서 버전 업그레이드를 했다. # python -v Python 2.7.5 (default, Oct 14 2020, 14:45:30) # yum -y install python3 # which python3.6 /bin/python3.6 # update-alternatives --install /bin/python python /bin/python3.6 1 # vi /usr/libexec/urlgrabber-ext-down #! /usr/bin/python2.7 //2.7로 수정 # vi /usr/bin/yum #! /usr/b..
[Selenium] chromedriver headless 옵션에 대하여
·
Development/Python
chromedriver 사용 시 headless 옵션을 사용하면 CPU 및 메모리 소비에 대한 문제가 있다. 확실히 크롬을 사용하다보면 메모리를 많이 잡아먹는다. (ex.확장프로그램 등) 탭을 몇 개만 실행해도 가끔 먹통이 되는 상황이 생긴다. 최적화 방법 사용자 지정 프록시 또는 C++ ProtocolHandlers를 사용하여 스텁 1x1 픽셀 이미지를 반환하거나 완전히 차단 memory-infra를 이용하여 메모리를 많이 소비하는 부분 확인 chromium은 항상 사용가능한 리소스를 최대한 많이 사용하므로, 효과적으로 리소스를 제한하려면 cgroups 사용을 확인해야한다. cgroups(control groups의 약자)는 프로세스들의 자원의 사용(CPU, 메모리, 디스크 입출력, 네트워크 등)을 제..
[Python] 백준 8958번 OX퀴즈
·
Study/TIL
O와 X 문자열을 입력받고, O는 정답 1점, X는 틀린것이다. 정답이 연속될 경우 점수가 누적된다. OXOO일 경우, 1+0+1+2이 된다. 테스트 케이스의 갯수 입력(n) 입력받은 갯수 만큼 반복문 실행 list로 문자열을 한 글자씩 분리 정답일 경우(O) 1씩 더하기, 오답일 경우(X) 점수를 0으로 초기화 n = int(input()) for _ in range(n): sum = 0 cnt = 0 listtc = list(input()) for k in listtc : if(k=="O") : cnt += 1 sum += cnt elif(k=="X") : cnt = 0 print(sum)
[Python] 튜플, 리스트, 딕셔너리 차이
·
Development/Python
배열(Array)-인덱스가 있는 데이터 집합. 각 인덱스에 대응하는 데이터로 이루어진 자료 구조이다. -인덱스는 0부터 시작한다. -같은 종류의 여러 데이터를 다룰 때 사용할 수 있다. -선언에 따라 1차원, 2차원 또는 그 이상의 다차원 배열로 선언할 수 있다. (보통 1~2차원 배열을 많이 이용함)배열을 사용하는 이유-하나의 변수에 같은 타입의 데이터를 한 번에 저장하여 효율적으로 관리할 수 있다. -각 데이터의 접근이 쉽고 빨라진다.파이썬 배열 종류튜플소괄호()딕셔너리중괄호{}리스트대괄호[]튜플 ()소괄호()로 작성한다. 튜플은 요소를 변경하거나 삭제할 수 없다.(=불변성) 요소가 변경되지않고, 유지되어야할 경우에 사용한다. 튜플에서 요소를 변경하려고 할 시 에러가 발생한다.리스트 []대괄호[]로 ..
파이썬 for _ in에서 언더바(_)란?
·
Development/Python
루프 카운터가 실제로 사용되지 않을 때 사용하므로 i보다 효율적이다. 루프 카운터가 사용되지 않음을 명확하게 나타내기 때문이다. (언더바, '-') 실행되는 횟수에 상관없이 특정 횟수만큼 실행되어야 함을 의미한다.
[selenium] 요소 선택이 안될 경우
·
Development/Python
셀레니움 사용하기 라이브러리 선언 상단에 필요한 라이브러리를 선언한다. from selenium import webdriver from selenium.webdriver import ActionChains from selenium.webdriver.common.keys import Keys option 입력하기 필요한 option이 있다면 입력한다. header값을 입력해줄 수 있다. # chrome option options = webdriver.ChromeOptions() options.add_argument('--headless') options.add_argument('--no-sandbox') options.add_argument('--disable-gpu') options.add_argumen..
[Python] 윈도우에서 자동 실행하기(feat. 작업 스케줄러)
·
Development/Python
파이썬 파일을 윈도우에서 매일, 자동으로 실행하려면 작업 스케줄러에 등록하면 된다. * 리눅스는 crontab! 실행할 파일 준비 작성된 코드 파일:) 배치 파일 만들기 나는 해당 파일이랑 같은 경로에 배치 파일을 생성했다. 배치 파일 생성은 간단하다. 새 파일 만들기 하고 확장자명을. bat으로 하고 파일 안에는 실행할 파일을 입력한다. python 환경변수를 설정해주지 않았다면, python 설치 경로를 입력해 준다. python 실팽할파일명.py 실행 파일 결과를 log로 보고 싶으면 아래와 같이 작성하면 된다. python 실팽할파일명.py > 저장할파일로그명.log 작업 스케줄러 등록하기 오른쪽 메뉴에서 작업 만들기를 클릭한다. 생성할 작업의 이름, 설명을 작성한다. 트리거 생성하기 트리거에서 ..