注册 登录
编程论坛 Python论坛

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

Protoss_Sine 发布于 2017-04-12 15:52, 2222 次点击
各位大神好:
下面这几句代码输出网页解析的结果为什么结果很难看:
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>

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

[此贴子已经被作者于2017-4-12 15:53编辑过]

1 回复
#2
Protoss_Sine2017-04-12 15:54
自己先顶下
1