2015-11-18 3 views
1

Большинство примеров я найти в Интернете показать, как удалить пробелы - но в моем случае мне нужно держать его .. У меня естьКак сохранить пробелы в BeautifulSoup.contents

html = "I can flip this whole thing with one hand\n    <span>D#m</span>\nThe ringleader man\n<span>A#</span>       <span>Dm</span>       <span>A#</span>\nI know~~~~ it's a fact that you'd rather just have some of me instead" 
bs = BeautifulSoup(html, 'html.parser') 
content = (unicode('').join(unicode(content) for content in bs.contents)) 

Что я ожидаю, чтобы сохранить пробельные (переменная «html» содержит содержимое предварительного тега), но, кажется, заменяет несколько пробелов одним пространством.

Как сохранить/получить исходное содержимое данного парсера beautifulsoup?

+0

'string.replace (" double space "," single space "). Strip()' ?? или 'normalize-space (string)' при использовании xpath – SIslam

+0

Если вы хотите только сырое содержимое входного файла hpml, вы получаете доступ к ним через 'bs'. Это сохранит пробелы. – n1c9

+0

Я также добавил переменную html - @ n1c9, я попытался получить доступ через «bs», а дополнительные пробелы все еще удалены – Robert

ответ

1

Парсер html, кажется, сохраняет пробелы только в том случае, если контент, который вы обрабатываете, находится в теге < pre> - в моем случае предыдущий тег был удален. Добавление

html = "<pre>" + html + "</pre>" 

сохраненные пробелы.

Смежные вопросы