반응형

파이썬 35

[Python] BeautifulSoup UTF-8 설정 (Encoding, 한글 깨짐 현상)

BeautifulSoup UTF-8 설정 (Encoding, 한글 깨짐 현상)들어가며 저에게 진짜 파이썬을 하면서 가장 짜증날때가 언제니? 라고 하면 자신감있게 "이놈의 UTF-8 인코딩이다." 라고 말을 하고 싶을 정도로 화가 날때가 있습니다. 특히 다른언어를 접하다가 python을 접하면 가장 먼저 이해하기 어려운게 encoding인데요. 이번에도 beautifulsoup을 통해 웹페이지의 소스를 가져오는곳에서 인코딩 문제가 발생했습니다. 웹페이지의 content를 가져와서 화면에 뿌리면 평소에 보지 못한 피라미드에 적혀있을 법한 상형문자들이 보입니다. 그 애들이 무엇을 말하고 싶었는지 알기 위해서는 인코딩 설정이 필요합니다. 해결하는 방법은... 매우 간단합니다. 한줄도 아닌 1/3줄을 추가하시면 ..

Programming/Python 2016.04.20

[Python] Web 스크랩 및 파싱 :: BeautifulSoup 사용방법

Web 스크랩 및 파싱하기 :: BeautifulSoup 사용방법 들어가며 웹에서 페이지를 스크랩하는 방법에 대해서 설명하려고 합니다. 웹페이지를 스크랩한다는 말은 웹 페이지에서 [오른쪽 마우스 클릭] --> [소스보기] 에 있는 텍스트를 가져온다고 생각하시면 됩니다. 웹에 있는 페이지에 특정 단어나, 이미지의 url 등을 가져오고 싶은 경우가 있습니다. 일단 가져오기 전에 feasibility(가능성)를 따져본 후에, 가능 하다면 페이지의 소스코드를 가져오고, 일정 포맷에 있는 데이터를 가져오면 됩니다. 내가 원하는 페이지에 들어간다. [그림 1] 인터넷 페이지 오른쪽 마우스를 클릭한 후에 View Source를 누른다. (또는 페이지 소스보기) [그림 2] 인터넷 페이지 소스코드 구현하기 구현해야 하..

Programming/Python 2016.04.20

[Python] Dictionary key기준, value 기준으로 정렬하기

Dictionary key기준, value기준으로 정렬하기 들어가며 파이썬을 사용하다 보면 자주 List만큼 자주 사용하는 객체가 있으니 그것이 바로 dictionary입니다. 그렇기 때문에 dict을 자유롭게 다룰 줄 알아야 합니다. 자 그렇다면 기본 중에 기본인 정렬하는 방법에 대해서 알아보겠습니다. 일단 dict의 형태에 대해서 간단하게 설명하면 key, value의 쌍으로 이루어져 있습니다. 예제를 통해 알아보겠습니다. 구현하기 operator를 통해 정렬을 할 수 있습니다. 두개의 차이는 operator.itemgetter()에서 1, 0을 넘기는 거에 따라 key로 정렬, value로 정렬을 할 수 있습니다. 1을 값을 기준으로 정렬을 할때 사용하고, 0은 키를 기준으로 정렬이 가능합니다. v..

Programming/Python 2016.04.19

[Python] 파이썬 인코딩 문제 SyntaxError: Non-ASCII character

들어가며 파이썬으로 코딩을 할때 많은 에러가 발생하지만 가장 자주 마주하는 에러는 인코딩 문제일 것이다. 파이썬은 기본 인코딩이 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 -*- 또..

Programming/Python 2016.03.26

[Python] MySQL 설치 및 쿼리 (접속/SELECT/INSERT/DELETE/UPDATE)

들어가기 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" & (table..

Programming/Python 2016.03.23
반응형