我正在使用名为Guess Language的python库:http://pypi.python.org/pypi/guess-language/0.1
“justwords”是一个带有unicode文本的字符串。我把它粘在包里,但它总是返回英文,即使网页是日文的。有谁知道为什么?我编码不正确吗?
§ç©ºéå
¶ä»æ¡å°±æ²æéç¨®å¾ é¤ï¼æ以ä¾é裡ç¶ç
éäºï¼åæ¤ç°å¢æ°£æ°¹³åèµ·ä¾åªè½ç®âå¾å¥½âé常好âåå ¶æ¯è¦é»é¤ï¼é¨ä¾¿é»çé»ã飲æãä¸ææ²»çåä¸å 便å®ï¼æ¯æ´è¥ç äºï¼æ³æ³é裡以å°é»ãæ¯è§ä¾èªªä¹è©²æpremiumï¼åªæ±é¤é»å¥½å就好äºã<br /><br />é¦åç¾ï¼æ以就é»åå®æ´ç æ£è¦åä¸ä¸å
ä¸ç å¥é¤å§ï¼å
justwords = justwords.encode('utf-8')
true_lang = str(guess_language.guessLanguage(justwords))
print true_lang
编辑:谢谢你的帮助。这是问题的更新。
我试图“猜测”这种语言: http://feeds.feedburner.com/nchild
基本上,在Python中,我得到了htmlSource。然后,我使用BeautifulSoup剥离标签。然后,我将它传递给图书馆以获取语言。如果我不进行编码('utf-8'),则会出现ASCII错误。所以,这是必须的。
soup = BeautifulStoneSoup(htmlSource)
justwords = ''.join(soup.findAll(text=True))
justwords = justwords.encode('utf-8')
true_lang = str(guess_language.guessLanguage(justwords))
答案 0 :(得分:7)
答案 1 :(得分:0)
看起来你应该能够按原样传递你的unicode。 guessLanguage
将输入str
解码为utf-8。因此,.encode('utf-8')
是安全的,但不必要。
我浏览了源代码并假设它完全依赖于“trigrams”目录中用于语言检测的数据,并且它不会处理日语,因为那里没有“ja”子目录。正如John Machin所指出的那样,这是不正确的。所以我必须假设你的输入不是你想象的那样(这很难调试,因为它在你的问题中没有正确显示)。
答案 2 :(得分:-1)