BeautifulSoup Malformed Start Tag? - PullRequest
       3

BeautifulSoup Malformed Start Tag?

1 голос
/ 03 января 2012

Я пытаюсь преобразовать 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

Iпопытался использовать BeautifulSoup 3.2.0 и 3.0.7a без особой удачи.

Я также пытался экспортировать разные диапазоны дат в сообщениях, но все равно получаю ту же ошибку в строке 1, хотя номер столбца меняется.* Единственное, о чем я могу думать, это о том, что в некоторых старых постах есть AdSense-код, но, кроме того, как я могу легко отследить, где он задыхается от контента поста?*

Редактировать: также происходит с дампом страницы (всего 2 страницы), в котором нет плохой разметки.

Обновление: похоже, якорные теги не похожи.Тег как показано ниже, очень простые ссылки в содержании.Убрав их, он правильно скомпилирован.Почему ему не нравится этот HTML?Удаление их привело к его компиляции без ошибок.

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

1 Ответ

1 голос
/ 03 января 2012

измените ваш код следующим образом (в html2text.py):

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

Полагаю, вы увидите, что в «данных» есть что-то странное. Если нет, пожалуйста, добавьте данные к вашему вопросу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...