Programming(178)
-
[Python] 배포를 쉽게 도와주는 freeze
기존에 환경에서 다른 환경으로 서버를 이전할때, 기존에 깔려 있는 패키지나 모듈등을 일일이 찾아서 다시 설치하기에는 너무나 번거롭다.python에서는 freeze란 기능이 있어서 해당 기능을 사용하면 현재 서버에 깔려 있는 python 모듈들에 대한 목록을 뽑아내 준다.이전할 서버에서는 뽑혀진 목록들을 가지고 install만 실행하면 되니 무척이나 편리한 기능이라 할 수 있다. 실제 사용방법을 보자면, $> pip freeze > pip-requirements.txt 라고 치면 freeze를 통해 현재 서버에 설치되어 있는 python 모듈의 목록이 pip-requirements.txt에 저장이 된다. pip-requirements.txt BeautifulSoup==3.2.1Flask=0.10.1Jinj..
2015.02.28 -
[Python] 크롤링 시 주의사항
아래와 같이 코드를 작성하여 해당 주소에 대한 crawling을 시도하였는데 계속 response timeout이 발생하였다. import urllib2 try: response = urllib2.urlopen(url)except urllib2.HTTPError, e: print e.reason.args[1]except urllib2.URLError, e: print e.reason.args[1] '어 안될리가 없는데??'하도 이상해서 브라우저 창에 직접 쳐봤더니 데이터를 제대로 가져온다. '아.. header 검사하나보다.'신속하게 아래와 같이 user-agent header 추가. import urllib2 try: req = urllib2.Request(url) req.add_header('User..
2015.02.25 -
특수문자 처리 방법
안드로이드에서 아래와 같이 코드를 작성하였더니 에러가 발생.. String value = data.split("("); 아마도 "("가 특수문자로 처리되어 인식이 안되는 것처럼 보였다.그래서 앞에 "\"를 추가해 준다음 다시 동작 시켰더니 그래도 제대로 동작을 하지 않았다. 찾아보니 자바에서는 특수문자 처리를 위해서는 "\\" 이렇게 두개의 역슬러시로 표현을 해줘야 한다고 한다. String value = data.split("\\("); 정확하게 동작하는 것 확인!! 배우고 또 배우자...
2015.02.23 -
[Python] python foreach에 step 주기
foreach를 사용하여 코딩하는 일이 많은데, foreach에서 index를 건너뛰고 싶은 경우에 어떻게 하는지를 알고 싶었다. for문으로 바꿔서 스탭을 주자니 먼가 좀 찝찝하고... sampleList = [1, 2, 3, 4, 5, 6] sampleList_length = len(sampleList) for i in range(1, len(sampleList), 2):print sampleList[i] 이렇게 바꿔서 표현해도 정상 동작했지만, foreach에서 동작하게 해보고 싶었다. 하는 방법은 너무도 간단..foreach에도 아래와 같이 코딩하여 step을 지정해 줄 수 있었다. for i in sampleList[::2]:print i [] 안의 요소는 문자열 sliding 규칙과 동일하다...
2015.02.21 -
jsoup 사용하기
파이썬에 BeautifulSoup가 있고, C#에 HtmlAgilityPack이 있다면, 자바에는 Jsoup이 html 파싱에 가장 편할 것 같다. (이름도 beautifulSoup와 비슷하게 jsoup임) 사용 방법부터 보자면, 우선 jsoup 라이브러리부터 가져와야 한다.해당 홈페이지에서 다운 받거나, gradle을 이용해서 라이브러리를 추가하도록 한다. dependencies{ compile 'org.jsoup:jsoup:1.7.3'} 라이브러리 추가가 완료되었으면 이제 실제 어떻게 사용되는지를 확인해 보자. 웹 페이지의 GET 데이터 정보 가져오기 import org.jsoup.Jsoup; import org.jsoup.nodes.Document;import org.jsoup.nodes.Eleme..
2015.02.19 -
[Python] beautiful soup 사용하기
beautiful soup 설치 (우분투 환경)$> pip install beautifulsoup4 웹페이지의 GET 데이터 정보 가져오기from bs4 import BeautifulSoupimport urllib2 try: response = urllib2.urlopen("가져올 웹페이지 주소") page = response.read().decode('cp949', 'ignore') # 인코딩 변환이 필요할 경우 response.close()except urllib2.HTTPError, e: print e.reason.args[1]except urllib2.URLError, e: print e.reason.args[1] soup = BeautifulSoup(page) 웹페이지의 GET 데이터 정보 가져..
2015.02.17