Разделить строку из вывода BeautifulSoup в списке - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть следующий вывод из моего кода

Код: text = soup.get_text()

Вывод:

Article Title

    Some text: Text blurb.

More blurb.

Even more blurb. 

Some more blurb. 





Second Article Title

Some text: Text blurb.

More blurb.

Even more blurb. 

Some more blurb. 

Далее, когда я делаю test = text.splitlines(), выводизменяется на

u'Article Title', u'', u'Some text',u'Text blurb',u'More blurb',u'Even more blurb',u'Some more blurb',, u'', u'', u'', u'', u'',u'Second Article Title', u'', u'Some text:',u'Text blurb',u'More blurb',u'Even more blurb',u'Some more blurb',, u'', u'', u'', u'', u'',

Я хотел бы разбить строку, используя u'', u'', u'', u'', u'', чтобы затем я мог индивидуально разобрать строки.Я бы хотел использовать теги, но их структура затрудняет использование.

Как мне выполнить разбиение?Я пробовал:

result = [list(g) for k,g in groupby(test,lambda x:x=="u''") if not k]
print result

и

for item in test:
    arr = re.split("u'', u'', u'', u'', u''",item, flags=re.UNICODE)
    print arr

, но они не дают мне желаемого результата.

1 Ответ

0 голосов
/ 03 декабря 2018

Если вы посмотрите на свой текст, вы хотите разделить на повторяющиеся символы новой строки \n из

text
>> 'Article Title\n\n    Some text: Text blurb.\n\nMore blurb.\n\nEven more blurb. \n\nSome more blurb. \n\n\n\n\n\nSecond Article Title\n\nSome text: Text blurb.\n\nMore blurb.\n\nEven more blurb. \n\nSome more blurb. '

Затем вы можете просто использовать определение параметра для text.split('\n\n\n\n\n'), если вы этого не сделаетедобавив параметр, Python просто разделяется на пробелы.После первого разделения вы можете разделить остальные элементы на \n\n.

[i.split('\n\n') for i in text.split('\n\n\n\n\n')]

>>[['Article Title',
  '    Some text: Text blurb.',
  'More blurb.',
  'Even more blurb. ',
  'Some more blurb. '],
 ['\nSecond Article Title',
  'Some text: Text blurb.',
  'More blurb.',
  'Even more blurb. ',
  'Some more blurb. ']]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...