2013-08-01 2 views
1

저는 파이썬에서 캐릭터의 인코딩에 어려움을 겪고 있습니다. 특수 언어 문자로 가득 찬 웹 사이트에서 기사를 가져와 일반 단어로 된 외부 파일을 여는 스크립트 (txt)가 utf-8에 저장되며 특수 문자가있는 단어도 있습니다. 나는 인코딩을 설정 싶어 코드의 일부는 다음과 같습니다 파이썬과 인코딩을 utf-8로 설정하는 방법은 무엇입니까?

def getArticleText(webtext): 
articletext = "" 
soup = BeautifulSoup(webtext) 
for tag in soup.find_all("div", {"class":"dr_article"}): 
    for element in tag.find_all("p"): 
     articletext += element.contents[0] 
    return articletext 

def getArticle(url): 
htmltext = gethtml.getHtmlText(url) 
return getArticleText(htmltext) 

def getKeywords(articletext): 
common = open("word_rank/comon.txt").read().split('\n') 
word_dict = {} 
word_list = articletext.lower().split() 
for word in word_list: 
    if word not in common : 
     if word not in word_dict: 
      word_dict[word] = 1 
     if word in word_dict: 
      word_dict[word] += 1 
print sorted(word_dict.items(),key=lambda(k,v):(v,k),reverse=True) 

가 지금은 그 전체 articletext의 인쇄에 문제가 없습니다. 특수 문자를 올바른 방법으로 인쇄합니다.

내 문제는 getKeywords 정의에 정의 키워드는, 그들은 예에서와 같이 그 길에서 인쇄되는 것을

...

(u'\u0161elteru', 2), (u'\u010ditateljice', 2), 
(u'\u017eeli,', 2), (u'\u0161tekat', 2), 

등 내가의 인코딩을 설정하는 방법

그 키워드는 적절한 방식으로 단어를 표시 할 수 있습니까?

+1

아마 BeautifulSoup 인코딩 utf - 8 문자, 디코딩 방법을 찾으십시오. – solusipse

답변

0

나는 바로 .read()common = open("word_rank/comon.txt").read().split('\n')에서 .decode('utf-8')을 잘 살고했고 일했다. 필요한 것 : D. 어쨌든 녀석 들께 고마워!

관련 문제