我是python 2.7中的新手,我试图从html文件中提取一些信息。更具体地说,我想阅读一些包含多语言信息的文本信息。我让脚本跳跃让事情变得更清晰。
import urllib2
import BeautifulSoup
url = 'http://www.bbc.co.uk/zhongwen/simp/'
page = urllib2.urlopen(url).read().decode("utf-8")
dom = BeautifulSoup.BeautifulSoup(page)
data = dom.findAll('meta', {'name' : 'keywords'})
print data[0]['content'].encode("utf-8")
我正在采取的结果是
BBCϊ╕φόΨΘύ╜ΣΎ╝Νϊ╕╗ώκ╡Ύ╝Νbbcchinese.com, email news, newsletter, subscription, full text
问题出在第一个字符串中。有什么方法可以打印我正在阅读的内容吗?还有什么办法可以找到每个脚本语言的确切编码吗?
PS :我想提一下该网站是完全随机选择的,因为它代表了我遇到的问题。
提前谢谢!
答案 0 :(得分:1)
您输出结果的终端有问题。该脚本工作正常,如果您将数据输出到文件,您将得到正确的。
示例:强>
import urllib2
from bs4 import BeautifulSoup
url = 'http://www.bbc.co.uk/zhongwen/simp/'
page = urllib2.urlopen(url).read().decode("utf-8")
dom = BeautifulSoup(page)
data = dom.findAll('meta', {'name' : 'keywords'})
with open("test.txt", "w") as myfile:
myfile.write(data[0]['content'].encode("utf-8"))
<强>的test.txt:强>
BBC中文网,主页,bbcchinese.com, email news, newsletter, subscription, full text
您正在使用哪个操作系统和终端?