Python: 127개의 글

Web 스크랩 및 파싱하기 :: BeautifulSoup 사용방법 들어가며 웹에서 페이지를 스크랩하는 방법에 대해서 설명하려고 합니다. 웹페이지를 스크랩한다는 말은 웹 페이지에서 [오른쪽 마우스 클릭] --> [소스보기] 에 있는 텍스트를 가져온다고 생각하시면 됩니다. 웹에 있는 페이지에 특정 단어나, 이미지의 url 등을 가져오고 싶은 경우가 있습니다. 일단 가져오기 전에 feasibility(가능성)를 따져본 후에, 가능 하다면 페이지의 소스코드를 가져오고, 일정 포맷에 있는 데이터를 가져오면 됩니다. 내가 원하는 페이지에 들어간다. [그림 1] 인터넷 페이지 오른쪽 마우스를 클릭한 후에 View Source를 누른다. (또는 페이지 소스보기) [그림 2] 인터넷 페이지 소스코드 구현하기 구현해야 하..
Dictionary key기준, value기준으로 정렬하기 들어가며 파이썬을 사용하다 보면 자주 List만큼 자주 사용하는 객체가 있으니 그것이 바로 dictionary입니다. 그렇기 때문에 dict을 자유롭게 다룰 줄 알아야 합니다. 자 그렇다면 기본 중에 기본인 정렬하는 방법에 대해서 알아보겠습니다. 일단 dict의 형태에 대해서 간단하게 설명하면 key, value의 쌍으로 이루어져 있습니다. 예제를 통해 알아보겠습니다. 구현하기 operator를 통해 정렬을 할 수 있습니다. 두개의 차이는 operator.itemgetter()에서 1, 0을 넘기는 거에 따라 key로 정렬, value로 정렬을 할 수 있습니다. 1을 값을 기준으로 정렬을 할때 사용하고, 0은 키를 기준으로 정렬이 가능합니다. v..
파이썬에서 round를 이용해 소수점 반올림에 대한 코드 print round(2.3333) # 2.0 print round(2.3333, 2) # 2.33 print round(2.5) # 3.0 print round(2.5555, 2) # 2.56 print '%.2f' % 2.555 #2.56 출처 : ourcstory.tistory.com/75?category=630693
들어가며 Python과MySQL을 사용해본 사람 중에 Encoding문제를 한번도 겪지 않았다면, 이 글을 읽을 필요가 없습니다. 하지만 이 두개는 쌍으로 encoding문제로 괴롭히는 주범이라고 할 수 있지요. 각각의 설정에 대해서 설명하겠습니다. MySQL MySQL에서는 테이블 생성시에 설정을 해주면 됩니다. 테이블의 기본 character 를 utf8로 설정하시면 됩니다. 또는 각 string값이 들어가는 varchar와 같은 변수옆에 character set 'utf8'을 하나씩 해주셔도 됩니다. create table `test`.`test` ( `text` varchar(50) character set 'utf8' ) default character set =utf8 Python MySQLd..

들어가며 파이썬으로 코딩을 할때 많은 에러가 발생하지만 가장 자주 마주하는 에러는 인코딩 문제일 것이다. 파이썬은 기본 인코딩이 ASCII코드이다. 우리가 파이썬 한글이 포함된 스크립트를 실행할때 발생하는 에러와 에러 해결 방법에 대해서 설명하겠다. 에러 내용 SyntaxError: Non-ASCII character '\xeb' in file app.py on line 166, but no encoding declared; see http://python.org/dev/peps/pep-0263/ f or details 해결 방법 .py의 파일 위에 나는 utf8, euc-kr의 인코딩을 기본으로 사용할 것이다. 라고 명시적으로 입력을 해주면 문제가 해결된다. #-*- coding: utf-8 -*- 또..
들어가며 파이썬에 내장되어 있는 함수 join, split을 이용해 문자열(String)을 리스트(List)로 변환하는 방법입니다. Join 함수는 리스트를 특정 구분자를 포함해 문자열로 변환해 주는 함수입니다. Split함수는 문자열을 특정 구분자를 기준으로 나누어 리스트로 변환해 주는 함수입니다. 리스트(List)를 특정 구분자를 포함해 문자열(String)으로 변환 animals = ['사자', '코끼리', '기린', '원숭이', '바나나원숭이'] print ",".join(animals) # >> 사자,코끼리,기린,원숭이,바나나원숭이 print "\n".join(animals) # >> 사자 # >> 코끼리 # >> 기린 # >> 원숭이 # >> 바나나원숭이 print "/".join(animal..
들어가기 Python에서 MySQL을 연동하는 방법입니다. 설치부터 접속, SELECT, INSERT, DELETE, 그리고 UPDATE고에 대해서 정리해 놓은 내용입니다. 설치하기 $ pip install MySQL-python 접속하기 import MySQLdb con = MySQLdb.connect('192.168.1.198', 'username', 'password', 'database') cur = con.cursor(MySQLdb.cursors.DictCursor) 여기서 MySQLdb.cursors.DictCursor를 사용하는 이유는 query를 통해 데이터를 얻을때 python의 dict로 얻기 위한 방법입니다. SELECT query = " select * from %s" & (tabl..

들어가며 지난 포스팅에서 UnicodeEncodeError에 대해서 문제점과 해결방법에 대해서 포스팅을 했다. UnicodeEncodeError:'ascii' codec can't encode characters in position 0-3: ordinal not in range(128) 이 에러는 작기도 하지만... 어쩔때는 엄청 큰 문제야 정말..그렇다면, 애초에 unicode를 신경 쓰지 않고, 기본으로 utf-8로 설정 한다면, 매번 unicode를 unicode_str.encode('utf8')을 할 필요가 없다. 자 이제 그만 귀찮은 작업 하지말고, 근본적인 문제를 해결해보자. 문제점 파이썬 내장모듈인 locale을 import한 뒤에 getdefaultlocale()함수를 통해 현재 loca..

들어가며 파이썬으로 구현을 하다보면 한번씩은 겪는 UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128) 파이썬은 기본적으로 unicode를 사용한다. 그렇기 때문에 한글을 사용하기 위해서는 unicode를 utf-8로 변환해서만 사용할 수 있다. 변경하는 방법은 아주 간단하다. unicode를 utf8로 encoding을 해주면 문제를 해결할 수 있다. 문제점 예를 들어서 웹페이지에서 한글 텍스트를 입력받은 값을 website.text라고 가정하자. 아래 내용은 website.text를 print문으로 출력했을때 UnicodeEncodeError가 발생한다. python 내장함수..

| 들어가기 전에 GIT 저장소 지금 포스팅은 국토교통부에서 제공하는 부동산 공공데이터 API를 사용합니다. 아래 포스팅을 보시고 먼저 부동산 공공데이터 API를 신청해주시길 바래요! [기타 정보/ETC] - 국토교통부 공공데이터 부동산 실거래가 API 신청 방법 이전 포스팅 [Python/파이썬 웹 크롤링] - [파이썬 크롤링/부동산 데이터] 스크래피(scrapy) startproject로 초기 프로젝트 구성하기 [Python/파이썬 웹 크롤링] - [파이썬 크롤링/부동산 데이터] scrapy를 이용한 부동산 공공 데이터 간단하게 받아오기 [Python/파이썬 웹 크롤링] - [파이썬 크롤링/부동산 데이터] scrapy를 이용한 부동산 공공 데이터 파싱 및 추출하기 [Python/파이썬 웹 크롤링] -..