如何。将单行优化为多行?

时间:2017-07-01 07:05:05

标签: python html python-3.x beautifulsoup

由此产生的代码片段是一条长行。 如何才能使它显示在网址中的多行?我想我需要.prettify但是无法弄清楚如何在这种情况下使用它。如果.prettify不是解决方案,那么我当然愿意接受建议。

import bs4 as bs
import urllib.request

test = urllib.request.urlopen('https://packetstormsecurity.com/files/143165/FASM-1.7.21-Buffer-Overflow.html').read()
soup = bs.BeautifulSoup(test, 'lxml')

output = soup.find('pre')
print(output.code.text)

1 个答案:

答案 0 :(得分:1)

使用strings property可以迭代行(由<br>分隔)。通过换行符加入他们(\n)会给你你想要的东西:

print('\n'.join(output.code.strings))

或迭代行并打印它们:

for line in output.code.strings:
    print(line)

或用换行符替换<br>

for br in output.code.find_all('br'):
    br.replace_with('\n')
print(output.code)