首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >soup.prettify和打印(soup.prettify)有什么区别?

soup.prettify和打印(soup.prettify)有什么区别?
EN

Stack Overflow用户
提问于 2017-10-06 02:50:20
回答 1查看 2.2K关注 0票数 1

嗨,我正在尝试美丽的汤,为网络刮擦,我正在使用朱皮特笔记本。我编写了soup.prettify()和print(soup.prettify()),当我使用第一个时,html没有得到很好的打印,但是当我将它与print一起使用时,HTML是以结构化的方式打印的?可能是什么原因?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-06 03:05:51

一个显示格式化字符串的repr(),另一个显示str()。前者是一种调试格式,所以您可以看到不可打印的字符,另一个是普通的显示格式。

例如:

代码语言:javascript
复制
>>> from bs4 import BeautifulSoup as soup
>>> s = soup('<html><body><p>blah blah blah</p></body><html>','html5lib')
>>> s
<html><head></head><body><p>blah blah blah</p></body></html>
>>> s.prettify()
'<html>\n <head>\n </head>\n <body>\n  <p>\n   blah blah blah\n  </p>\n </body>\n</html>'
>>> print(s.prettify())
<html>
 <head>
 </head>
 <body>
  <p>
   blah blah blah
  </p>
 </body>
</html>

注意,在\n版本中,您可以看到换行符是repr(),它周围的引号表示它是一个字符串,都在一行上。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46597551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档