xpath特别用法

starts-with用法,方便获取多个类似标签内容

 1 from lxml import etree
 2 
 3 html = '''
 4 <li class="tag-1"> 需要的内容1</li>
 5 <li class="tag-1"> 需要的内容2</li>
 6 <li class="tag-1"> 需要的内容3</li>
 7 '''
 8 
 9 selector = etree.HTML(html)
10 contents = selector.xpath('//li[starts-with(@class,"tag")]/text()')
11 for content in contents:
12     print(content)

string(.)用法:当遇到标签套标签情况,可以通过string(.)拿到标签内所有文本内容

 1 from lxml import etree
 2 
 3 html = '''
 4 <div class="red"> 需要的内容1
 5     <h1>需要的内容2</h1>
 6 </div>
 7 '''
 8 
 9 selector = etree.HTML(html)
10 content1 = selector.xpath('//div[@class="red"]')[0]
11 content2 = content1.xpath('string(.)')
12 print(content2)
原文地址:https://www.cnblogs.com/shajing/p/9469219.html