我是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 +' IoT \ uc720 \ ub9dd \ uc911 \ uc18c \ uae30 \ uc5c5 \ ubaa8 \ uc5ec \ ub77c'," IoT \ ub85c \ uace0 \ uce35 \ ube4c \ ub529 \ uc5d0 \ ub108 \ uc9c0 \ uc18c \ ube44 80%\ u2193",\ 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,' \ uc0c1 \ uc0dd' \ 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,
......等等。
我无法找到有关此问题的任何解决方案。
答案 0 :(得分:0)
它不是因为BeautifulSoup而是因为你打印节点的方式。做类似的事情:
print editData
将调用节点的函数__repr__()
,该函数通过将内容返回为ascii string来实现。
试试这个:
for span in editData:
print span.text
你应该看到unicode文本(for-in循环是因为结果是一个节点列表而不是一个节点,所以我们将它们全部打印出来。)