首页 > 解决方案 > 当 div 为空时,XPath 设置默认值

问题描述

我有这个 html 来解析:

<parentA>
  <div class="child"> 25 </div>
</parentA>

<parentB>
  <div class="child"></div>
</parentB>

我正在使用 lxml,并与

//div[@class="child"]/text()

我只得到 [25],但我也想得到第二个 div,比如 [25, null]

有没有办法得到空的div?

标签: pythonhtmlxpathweb-scrapinglxml

解决方案


试试下面的代码:

from lxml import html

html_code = '''<parentA>
                    <div class="child">25</div>
               </parentA>
               <parentB>
                   <div class="child"></div>
               </parentB>'''


dom = html.fromstring(html_code)
div_text = dom.xpath('//div[@class="child"]')
for i in div_text:
    print(i.text)

输出:

25 None


推荐阅读