将所有行输出到一行

时间:2018-10-12 13:17:55

标签: python html beautifulsoup

我有以下while循环:

while workplace_tag.find_all_next('p')[l] != 'h1':
        abstract_tag = workplace_tag.find_all_next('p')[l]
        abstract = abstract_tag.text.strip().replace('\n', ' ').encode('windows-1252', errors='replace')
        l += 1
        print(abstract)

如何将<p>标签全部打印成一行。

例如,目前可能会出现以下情况:

<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>

我需要这样:

<p>1</p><p>2</p><p>3</p><p>4</p>

谢谢

2 个答案:

答案 0 :(得分:1)

这将起作用(在Keyur Potdar的帮助下):

创建一个空字符串:

x = ''

然后串联循环中的每个元素:

x += abstract.decode('utf-8')

x的输出:

<p>1</p><p>2</p><p>3</p><p>4</p>

答案 1 :(得分:0)

替换

print(abstract)

使用

print(abstract, end='')

如果这是Python 3。