# xpath 跟re, bs4, pyquery一样, 都是数据提取方法. 根据元素的路径查找页面元素 # pip install from lxml import etree html = """ <div id='content'> <ul class='list'> <li class='one'>One</li> <li class='two'>Two</li> <li class='three'>Three</li> <li class='four'>Four</li> <div id='inner'> <a href='http://www.baidu.com'>百度一下</a> <p>第一段</p> <p>第2段</p> <p>第3段</p> <p> 第4段 <span>法大师傅大师傅</span> </p> <p>第5段</p> <p>第6段</p> </div> </ul> </div> """ obj = etree.fromstring(html) # 讲一个`Html文件解析成对象 # obj = etree.parse('index.html') # obj = etree.parse('') # print(type(obj)) # one_li = obj.xpath('//ul/li[@class="one"]') # # print(one_li.xpath('text()')[0]) # 获取所有li的文本内容 all_li = obj.xpath('//ul//li') print(all_li) for li in all_li: # class_calue = li.xpath('@class')[0] text_value = li.xpath('text()')[0] print(text_value) # print(all_li) # # # 获取div标签内部的所有文本: # print(obj.xpath('//div[@id="inner"]//text()')) # # # # 获取url中第一个li # # print(obj.xpath('//ul/li[1]/text()')) # print(obj.xpath('//ul/li[last()]/text()')) # # # 查找包含 # print(obj.xpath('//ul/li[contains(@class, "four")]/text()'))
Python3----xpath
最新推荐文章于 2024-08-14 17:13:53 发布