Protoss_Sine
Protoss_Sine
2017-04-12 07:58

python3 Lxml和BeautifulSoup解析网页出问题输出有问题, 求指教!

  • python

各位大神好:
下面这几句代码输出网页解析的结果为什么结果很难看:

 import lxml.html
broken_html = '<ul class=country><li>area<li>population</ul>'
tree = lxml.html.fromstring(broken_html)
cc = lxml.html.tostring(tree, pretty_print=True, method='html').decode()
print(cc)

下面是输出结果:

 <ul class="country">
<li>area</li>
<li>population</li>
</ul>

尽管闭合了标签,但是完全看不出嵌套关系了。上面的decode()是为了将前面的输出bytes类型转换成str类型。

而使用BeautifulSoup同样出错

 from bs4 import BeautifulSoup
soup = BeautifulSoup(broken_html, 'html.parser')
ccc = soup.prettify()
print(ccc)

结果,标签都补错了:

 ”<ul class="country">
 <li>
  area
  <li>
   population
  </li>
 </li>
</ul>”

第一次发帖,求各位大神给我解释下,多谢!

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

3条回答