html 为元素附空值,lxml:当html标记文本内容为None时追加“None”或Null值

问题的根源是,xpath中的text()是要检索的元素的测试的一部分,因为对于某些p元素来说它不是元素,所以它不会被检索。在

解决方案是修改xpath以选择所有p元素,然后从中获取text。在import lxml.html as LH

xmlstr = """

T1

T2

T3

A1

A3

"""

html_root = LH.fromstring(xmlstr)

eol_table = None

for tbl in html_root.xpath('//table'):

p_elements = tbl.xpath('.//tr/td/p')

eol_table = [p_elm.text for p_elm in p_elements]

print eol_table

打印:

^{pr2}$

另一种情况,其中某些元素没有

(这个更新的请求是由Nijo提出的,他还接到了text_content()电话)xmlstr = """

T1

T2

T3

A1

"""

html_root = LH.fromstring(xmlstr)

eol_table = None

for tbl in html_root.xpath('//table'):

td_elements = tbl.xpath('.//tr/td')

eol_table = [td_elm.text_content() for td_elm in td_elements]

print eol_table

什么指纹['T1', 'T2', 'T3', 'A1', '', '']

如您所见,text_content()从不返回None,但在None的情况下返回空字符串''

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值