Используйте BeautifulSoup, чтобы получить содержимое div - PullRequest
3 голосов
/ 09 июня 2010

Я хочу получить правильно разделенный текст из BeautifulSoup, превращая теги в пробелы, если это необходимо.Проблема заключается в том, что переводы строк свернуты, а теги типа <br/> не отображаются как пробелы.

<div class="companyInfo">
    <p class="identInfo">
        <acronym title="Standard Industrial Code">
            SIC
        </acronym>
        :
        <a href="/?SIC=3674">
            3674
        </a>
        - SEMICONDUCTORS &amp; RELATED DEVICES
        <br />
        State location: CA
    </p>
</div>

Если я запускаю BeautifulSoup (sampleHTML) .text, я получаю следующее:

u'SIC:3674- SEMICONDUCTORS &amp; RELATED DEVICESState location: CA'

Я хотел бы получить что-то, что правильно обрабатывает пробелы, например:

u'SIC : 3674 - SEMICONDUCTORS &amp; RELATED DEVICES State location: CA'

Есть предложения?Спасибо!

Ответы [ 2 ]

2 голосов
/ 11 марта 2011

Вы также можете использовать функцию getText (). GetText () имеет необязательный параметр для разделителя.

BeautifulSoup(sampleHTML).getText(' ').strip()

Полоска () используется для удаления любых начальных и конечных пробелов.

1 голос
/ 10 июня 2010

Я закончил тем, что использовал метод контента, чтобы получить информацию, которую я хочу получить от различных узлов.Это оказалось лучше, чем использование текстового метода, потому что это избавило от необходимости некоторого разбора текста.

Итак, в заключение, используйте метод контента или перейдите по ссылке, которую оставил Джоуни, и посмотрите ответыесть.

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