मैं एक वर्डप्रेस एक्सएमएल को ऑक्टोप्रेस में कनवर्ट करने की कोशिश कर रहा हूं, माइग्रेशन करने के लिए ब्यूटीफुल सूप का उपयोग कर रहा हूं।

जब मैं 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

मैंने बहुत भाग्य के बिना सुंदर सूप 3.2.0 और 3.0.7a का उपयोग करने का प्रयास किया।

मैंने पोस्ट पर अलग-अलग दिनांक सीमाओं को निर्यात करने का भी प्रयास किया, लेकिन फिर भी लाइन 1 पर एक ही त्रुटि मिलती है, हालांकि कॉलम संख्या में परिवर्तन होता है।

केवल एक चीज जो मैं सोच सकता हूं, वह यह है कि कुछ पुराने पोस्ट में ऐडसेंस कोड होता है, लेकिन इससे आगे, मैं आसानी से कैसे पता लगा सकता हूं कि पोस्ट सामग्री पर यह कहां घुट रहा है?

OSX 10.7 . पर पायथन संस्करण 2.7

संपादित करें: पेज डंप (केवल 2 पेज) पर भी होता है जिसमें कोई खराब मार्कअप नहीं होता है।

अद्यतन: ऐसा लगता है कि एंकर टैग पसंद नहीं करते हैं। नीचे दिखाए गए टैग की तरह, सामग्री में बहुत ही बुनियादी लिंक। उन्हें हटाकर, यह सही ढंग से संकलित हुआ। इसे यह HTML क्यों पसंद नहीं है? उन्हें हटाने से यह बिना किसी त्रुटि के संकलित हो गया।

<a href="http://www.google.com" target="_blank">Google</a>
1
Kevin 3 जिंदा 2012, 06:33
क्या आप एक्सएमएल का कुछ उदाहरण जोड़ सकते हैं जो आपके लिए काम नहीं कर रहा है?
 – 
jcollado
3 जिंदा 2012, 12:29

1 उत्तर

सबसे बढ़िया उत्तर

इस तरह अपना कोड संशोधित करें (html2text.py में):

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

मुझे लगता है कि आप देखेंगे कि 'डेटा' में कुछ अजीब है। यदि नहीं, तो कृपया अपने प्रश्न में डेटा जोड़ें।

1
guettli 3 जिंदा 2012, 12:34
बेशक सुंदर सूप एंकर टैग को पार्स कर सकता है। मैं इसे बहुत बार इस्तेमाल करता हूं। कुछ और सबसे ज्यादा टूट जाएगा। कृपया अपना डेटा पोस्ट करें। क्या विशेषता मान में न्यूलाइन या "<" वर्ण हैं?
 – 
guettli
3 जिंदा 2012, 18:29
अजीब बात यह है कि मैंने उन्हें वापस एक्सएमएल फाइल में डाल दिया और इसे फिर से चलाया, इस बार कोई त्रुटि नहीं हुई। मैं Wordpress से उसी डंप की कोशिश करूँगा और पुनः प्रयास करूँगा।
 – 
Kevin
3 जिंदा 2012, 18:55
हो सकता है कि आपने HTTP-हेडर के साथ xml को पार्स करने का प्रयास किया हो ..... उपरोक्त स्निपेट इसे प्रकट करेगा।
 – 
guettli
3 जिंदा 2012, 19:25
धन्यवाद। ऐसा लगता है कि यह ब्रेक टैग पर रुक रहा था... उन्हें हटाने से यह काम कर गया।
 – 
Kevin
6 जिंदा 2012, 00:03