由此产生的代码片段是一条长行。 如何才能使它显示在网址中的多行?我想我需要.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)
答案 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)