在列表中从BeautifulSoup输出中拆分字符串



我的代码有以下输出

代码: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

但他们没有给我想要的输出。

如果您查看文本,您希望通过中的重复换行n进行拆分

text
>> 'Article Titlenn    Some text: Text blurb.nnMore blurb.nnEven more blurb. nnSome more blurb. nnnnnnSecond Article TitlennSome text: Text blurb.nnMore blurb.nnEven more blurb. nnSome more blurb. '

然后,您可以只使用为text.split('nnnnn')定义一个参数,如果不添加参数,Python只需按空格进行拆分。在第一次拆分之后,可以通过nn拆分其他元素。

[i.split('nn') for i in text.split('nnnnn')]
>>[['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. ']]

相关内容

  • 没有找到相关文章

最新更新