我正在尝试将Wordpress XML转换为Octopress,使用部分BeautifulSoup进行迁移。
当我运行exitwp时,我得到以下输出:
writing......................................................Traceback (most recent call last):
File "exitwp.py", line 293, in <module>
write_jekyll(data, target_format)
File "exitwp.py", line 284, in write_jekyll
out.write(html2fmt(i['body'], target_format))
File "exitwp.py", line 45, in html2fmt
return html2text(html, '')
File "/Users/kevinquillen/Documents/workspace/exitwp2/html2text.py", line 700, in html2text
return optwrap(html2text_file(html, None, baseurl))
File "/Users/kevinquillen/Documents/workspace/exitwp2/html2text.py", line 695, in html2text_file
h.feed(html)
File "/Users/kevinquillen/Documents/workspace/exitwp2/html2text.py", line 285, in feed
HTMLParser.HTMLParser.feed(self, data)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/HTMLParser.py", line 108, in feed
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/HTMLParser.py", line 148, in goahead
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/HTMLParser.py", line 229, in parse_starttag
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/HTMLParser.py", line 304, in check_for_whole_start_tag
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/HTMLParser.py", line 115, in error
HTMLParser.HTMLParseError: malformed start tag, at line 1, column 64
我尝试使用BeautifulSoup 3.2.0和3.0.7a没有太多运气。
我也尝试在帖子上导出不同的日期范围,但在第1行仍然会收到相同的错误,但是列数会发生变化。
我唯一能想到的是一些较旧的帖子中有adsense代码,但除此之外,我怎样才能轻松找到帖子内容窒息的位置?
OSX 10.7上的Python 2.7版
编辑:也发生在没有错误标记的页面转储(仅2页)上。
更新:它似乎不喜欢锚标签。标签如下所示,内容中非常基本的链接。删除它们,它编译正确。为什么它不喜欢这个HTML?删除它们会导致编译而不会出错。
<a href="http://www.google.com" target="_blank">Google</a>
答案 0 :(得分:1)
修改你的代码(在html2text.py中):
try:
HTMLParser.HTMLParser.feed(self, data)
except:
print 'malformed data: %r' % data
raise
我想你会看到,'数据'包含一些奇怪的东西。如果没有,请将数据添加到您的问题中。