xpath使用
import lxml.html
from lxml import etree
html_str = "<xx></xx>"
html_s = lxml.html.fromstring(html_str)
h1 = html_s.xpath('/xx/text()')
html_download = requests.get("http://www.itmeng.top").content.decode()
html_d = etree.HTML(html_download)
h2 = html_d.xpath('/xx/xx/text()')
html_data = html.xpath('//div[@xx="xxx" and @yy="yyy"]')
html_data = html.xpath('//div[last()]')
html_data = html.xpath('//div[xx > 99]')
html_data = html.xpath('//div[starts-with(@xx, xxx)]')
html_data = html.xpath('//div[contains(@xx, 'xxx')]')
常用的路径表达式
/
从根节点开始查找//
从任意位置开始查找.
从当前节点开始查找..
从当前节点的父节点开始查找@
选取属性//div/a
从div下面查找所有为a标签的直接子节点//div//a
从div下面查找所有的a标签//div
查找html文档中的所有div标签//div/book[1]
取出符合要求的第一个book标签, 下标从1开始//div[last()]
取最后一个div标签//div[last() -1]
取倒数第二个div标签//div[@class]
取所有拥有class属性的div标签//div[name="xiaomaoyu"]
取所有name等于小猫鱼的div标签//div/*
取div下所有的标签//*
取html所有标签