BeautifulSoup没有正确显示韩文字母

时间:2016-04-04 06:58:59

标签: python beautifulsoup

我是Python的新手,正在学习使用BeautifulSoup解析。

这是我的代码,

#-*- coding: utf-8 -*-

import urllib
from bs4 import BeautifulSoup

soup = BeautifulSoup(urllib.urlopen('https://news.google.com/news/section?cf=all&pz=1&q=IoT').read())
editData = soup.find_all('span',{'class','titletext'})

print editData

,结果如下: (韩文字母显示" \ uc720 \ ud50c \ ub7ec \ uc2a4"等)

  

[LG \ uc720 \ ud50c \ ub7ec \ uc2a4, IoT \ uc720 \ ub9dd \ uae30 \ uc5c5 \ ubc1c \ uad74 \ u2026 \ uc0c1 \ uc0dd \ ud611 \ ub825 \ ucd94 \ uad6c,LG \ uc720 \ ud50c \ ub7ec \ uc2a4,\ uc720 \ ub9dd IoT \ uc911 \ uc18c \ uae30 \ uc5c5 \ uc9c0 \ uc6d0,LGU +&#39; IoT \ uc720 \ ub9dd \ uc911 \ uc18c \ uae30 \ uc5c5 \ ubaa8 \ uc5ec \ ub77c&#39;,&#34; IoT \ ub85c \ uace0 \ uce35 \ ube4c \ ub529 \ uc5d0 \ ub108 \ uc9c0 \ uc18c \ ube44 80%\ u2193&#34;,\ uc2dc \ ud050 \ ub9ac \ ud2f0 \ ud50c \ ub7ab \ ud3fc- \ uc774 \ ub354 \ ube14 \ uc720 \ ube44 \ uc5e0 IoT \ ubcf4 \ uc548 \ ud1a0 \ ud138 \ uc194 \ uc8e8 \ uc158 \ uac1c \ ubc1c,NIA, IoT \ uc735 \ ud569 \ uc2e0 \ uc0b0 \ uc5c5 \ uc9c0 \ uc6d0 \ uc704 \ ud574 135 \ uc5b5 \ uaddc \ ubaa8 \ ud22c \ uc790, IoT \ ub9db \ uc744 \ uc54c \ uac8c \ ub41c \ ud1b5 \ uc2e03 \ uc0ac,&#39; \ uc0c1 \ uc0dd&#39; \ uc774 \ uacb0 \ uad6d \ ubbf8 \ ub798 \ ub9cc \ ub4e0 \ ub2e4,\ uc0bc \ uc131 \ uc804 \ uc790,\ ubd81 \ ubbf8 <b>IoT</b> \uc2a4\ub9c8\ud2b8 \ube4c\ub529 \ucf00\uc5b4 \uc2dc\uc2a4\ud15c \ uacf5 \ ub7b5 ... \ ud604 \ uc9c0 \ ub370 \ uc778 \ ud2b8 \ ub9ac \ uc640 \ ud611 \ uc5c5, \ ud30c \ uc6cc \ ubcf4 \ uc774 \ uc2a4,\ uc74c \ uc131 \ uc778 \ uc2dd IoT \ uc2a4 \ ub9c8 \ ud2b8 \ uc2a4 \ uc704 \ uce58 \ ucd9c \ uc2dc,\ uace0 \ ub824 \ ub300,\ uc815 \ ubcf4 \ ud1b5 \ uc2e0 \ uace0 \ ub3c4 \ ud654 \ ud55c&#39; IoT \ ucea0 \ ud37c \ uc2a4&#39; \ ubcc0 \ uc2e0,

......等等。

我无法找到有关此问题的任何解决方案。

1 个答案:

答案 0 :(得分:0)

它不是因为BeautifulSoup而是因为你打印节点的方式。做类似的事情:

print editData

将调用节点的函数__repr__(),该函数通过将内容返回为ascii string来实现。

试试这个:

for span in editData:
    print span.text

你应该看到unicode文本(for-in循环是因为结果是一个节点列表而不是一个节点,所以我们将它们全部打印出来。)