2012-01-03 10 views
1

私は、WordPressのXMLをOctopressに変換しようとしています。これは、BeautifulSoupの一部を使って移行を行います。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コードが含まれていますが、それを超えて、ポストコンテンツでどこが窒息しているかを簡単に追跡する方法はありますか?

のPython OSX 10.7にバージョン2.7

編集:また、何の悪いマークアップを持っていないページ・ダンプ(わずか2ページ)で発生します。

更新:アンカータグが好きではないようです。以下に示すようなタグ、コンテンツの非常に基本的なリンク。それらを削除すると、正しくコンパイルされました。なぜこのHTMLが気に入らないのですか?それらを削除すると、エラーなしでコンパイルされました。

<a href="http://www.google.com" target="_blank">Google</a> 
+0

xmlのいくつかの例を追加できますか? – jcollado

答えて

1

(html2text.pyで)このようにコードを変更します。

try: 
    HTMLParser.HTMLParser.feed(self, data) 
except: 
    print 'malformed data: %r' % data 
    raise 

私はあなたが 'データ' は奇妙な何かが含まれていることを、わかりますね。そうでない場合は、質問にデータを追加してください。

+0

アンカータグが好きではないようです。 Googleのようなタグは非常に基本的です。それらを削除すると、正しくコンパイルされました。なぜこのHTMLが気に入らないのですか? – Kevin

+0

もちろん、BeautifulSoupはアンカータグを解析できます。私は非常に頻繁にそれを使用します。他の何かが最も壊れている。あなたのデータを投稿してください。属性値に改行または "<"文字が含まれていますか? – guettli

+0

変わったことは、XMLファイルに戻して、もう一度実行しました。今回はエラーはありません。私はWordpressから同じダンプを試みて、もう一度やり直します。 – Kevin

関連する問題