我想将解析后的HTML文件保存到TXT文件中

时间:2013-05-08 16:18:23

标签: python beautifulsoup

我已经解析了显示文章的网页。 我想将解析后的数据保存到文本文件中,但我的python shell显示如下错误:

UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 107: ordinal not in range(128)

这是我的代码的一部分

search_result = urllib.urlopen(url)
f = search_result.read()
#xml parsing
parsedResult = xml.dom.minidom.parseString(f)
linklist = parsedResult.getElementsByTagName('link') #extracting links
extractedURL = linklist[3].firstChild.nodeValue #pick one link
page = urllib.urlopen(extractedURL).read()
#making html file
g= open('yyyy.html', 'w') 
g.write(page)
g.close()
#reading html file and parsing html to get pure text of article
g= open('yyyy.html', 'r')
bs = BeautifulSoup(g,fromEncoding="utf-8")
g.close()
article = bs.find(id="articleBody")
content = article.get_text()
#save as a text file
h= open('yyyy.txt', 'w')
h.write(content)
h.close()

我应该添加什么来使这项工作?

2 个答案:

答案 0 :(得分:1)

尝试

import codecs
h = codecs.open('yyyy.txt', 'w', 'utf-8')

或使用Python 3。

答案 1 :(得分:0)

尝试使用unidecode:

from unidecode import unidecode

unidecode(page)
相关问题