Problem Python에서 Selenium을 사용해 크롤링을 하던 중, 링크를 클릭했을 때 띄워지는 새 창에서 데이터를 크롤링을 해야했다. 처음에는 driver를 너무 똑똑하게 봐서 알아서 새 창이 띄워주면 그쪽을 포커스하겠지 했는데, 그렇게 똑똑하진 않았다. 새로운 창이 띄워져도 본래 창의 데이터를 가져왔다. Solution selenium의 swtich_to_window를 사용해서 새로운 창을 핸들링 할 수 있다.from selenium import webdriver driver = webdriver.Chrome('chromedirver') # 새로 띄워진 창을 핸들링함. ... (생략) driver.switch_to_window(driver.window_handles[1]) driver.get_..
프로그래밍을 할 때, Int형 데이터를 String형으로 바꾸고 싶거나 String형 데이터를 int형으로 바꾸고 싶을 때가 자주 있다. Java는 이를 위해 메소드를 제공한다. String type -> int type 변환하기 (Integer.parseInt(String str))String str = "1"; int num = Integer.parseInt(str); // 1 int type -> String type 변환하기 (Integer.toString(int number))int num = 1; String str = Integer.toString(num); // "1"
venv는 python3에서 기본으로 제공하는 가상환경(virtualenv)을 만들 수 있는 라이브러리이다. 나는 이 라이브러리를 여태동안 모르고 있었다!(충격)그래서 그동안 서드파티 라이브러리인 virtualenv를 사용하고 있었는데 venv로 갈아탈 예정이다.기본으로 제공하는데 사용해줘야지! 만약 virtualenv 라이브러리를 사용하고 싶다면 해당 포스트에서 사용법을 확인하면 된다. venv 사용하기 먼저 venv는 python3에 빌트인 되어있기 때문에 설치를 하지 않아도 사용가능하고 python2.7에서는 사용이 불가능하다.python2를 사용한다면 virtualenv/pyenv 라이브러리를 설치해야한다. 1. 가상환경 생성# window # python -m venv [venv 이름] pyth..
+ 2018/8/23 추가 virtualenv 라이브러리를 사용하시기 전에, 파이썬에서 기본으로 제공하는 venv를 추천합니다.venv 포스팅 http://jamanbbo.tistory.com/45 Virtualenv (가상환경) python 프로그램을 만들다보면 어느 프로젝트에선 2.x 버전, 다른 프로젝트에선 3.x 버전 + 라이브러리가 필요할 때가 많다. 이럴때 프로젝트마다 환경을 분리하지않고 라이브러리를 사용하면 충돌이 일어날 수 있다. 이것을 막기위해서는 프로젝트마다 각각 다른환경을 만들어주는 virtualenv를 사용한다. virtualenv 는 프로젝트마다 버전을 정하고 프로젝트에 필요한 패키지를 그 환경에만 독립적이게 사용할 수 있도록 해준다. virtualenv를 사용하기위해선 virtu..
c언어나 자바에는 삼항 연산자가 있다. 조건 ? value1 : value2; - 조건이 True일 시 value1 반환, False일 시 value2 반환 result = (a > b) ? a : b; 보통 이런 식으로 사용하며 코딩을 간단하게 할 시 자주 사용하는 조건부 3항 연산자이다. 나는 몇 일 전까지는 이러한 삼항 연산자가 없는 줄 알았는데 있다는 것을 알게되었다. 파이썬에서의 삼항 연산자는 다른 언어와 조금 다른 형식을 띄고 있다. a if a>b else b value1 if 조건 else value2 - 마찬가지로 조건이 True일 시 value1 반환, False일 시 value2 반환 간단한 기호로 표현되는 C,JAVA 와 달리 if,else로 표현이 된다. [i for i in ra..
파이썬에서 원래있던 리스트과 똑같은 리스트을 만들고 만든 리스트을 수정할때 원래의 리스트은 바뀌지 않으려면 어떻게 해야할까요? 일반적으로 똑같은 리스트을 만드려고 하면 a = [1,2,3] b = a print(id(a)) #16964584 print(id(b)) #16964584 위와같이 b = a 대입하면 되는거 아니야? 라고 생각하실겁니다. 하지만 위의 소스에서 b를 변경하게 되면 a도 변하게 될 것입니다. a 와 b는 같은 객체를 참조하고 있기 때문이죠. a is b 는 True이며 3,4번째 줄에서 출력한 주소값은 같을 것입니다. 그럼 어떻게하면 바뀌지 않게할까요? 방법은 얕은 복사와 깊은 복사가 있습니다. 두 방법의 공통점은 참조가 아니라 복사본을 만드는 것입니다. 새로운 객체를 생성하는 것이..
Python에서 for문을 사용하실때 range를 많이 사용하실텐데요. Python3에서는 range가 하나밖에 없지만 Python2에서는 range,xrange 가 있습니다. Python2 range는 list형식으로, for i in range(10) 이면 for i in [0,1,2,3,4,5,6,7,8,9] 대충 이런식의 형태로 for문이 실행된다고 보시면 되는데요 리스트로 할당이 되기때문에 만약 매우 큰 범위를 선언하시게 된다면 메모리를 많이 사용하게됩니다. xrange는 리스트형식으로 되는 것이 아닌 검색이 요청되는 시점에 값을 계산하게 됩니다.(generator) 그렇기때문에 Python2에서는 range보다는 xrange를 사용하기를 권장합니다. 매우 큰 범위를 선언할땐 더더욱이요 ㅎㅎ P..
- Total
- Today
- Yesterday
- jsp oracle 연동
- 전자계산기 구현
- 후위 표기법
- 후위 표기식
- selenium 새 창 크롤링
- java toString
- selenium 새 탭 크롤링
- 중위 표현식 후위 표현식
- selenium switch_to_window python
- 2진수 음수
- 음수 10진수 음수 2진수
- python virtualenv
- jsp 서버 연동
- 후위 표기 수식 계싼
- 후위 표기법 계싼
- 후위 표현식
- virtualenv
- sass
- java String to int
- sass 사용법
- 계산기 구현
- selenium switch_to_window
- jsp tomcat 연동
- 2의 보수법
- 후위 표기 계산
- java int to String
- java parseInt
- jsp tomcat
- 중위 표기법 후위 표기법
- sass 설치
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |