Html 简单解析

1. Xpath

'''
    xpath 比 BeautifulSoup 快
    nodename	 选取此节点的所有子节点。
    /	        从根节点选取。
    //	        从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。
    .	        选取当前节点。
    ..	        选取当前节点的父节点。
    @           选取属性
    *	        匹配任何元素节点。
    @*	        匹配任何属性节点。
    node()      配任何类型的节点
'''
xpath 简单语法示例
//p[@class="story"]  全范围找 属性为story的p标签
//title  全范围找 title 标签
在里面 加一些 简单的判断如 and not 
//li[(@_chapterid) and not(@id="video-0")]   找到某属性,但不存在另一属性的li标签,


from lxml import etree

tree = etree.HTML(HTML内容) # 会自动补全 html 标签

tree.xpath('语法')[0].text   #取到内容

tree.xpath('语法')[0].tar    # 取到节点名            

tree.xpath('//title')[0].getparent().tag       父节点

tree.xpath('//a')[1].get('class')  获取属性

tree.xpath('//a')[1].attrib   所有属性的字典

tree.xpath('//text()')  所有字符串的列表    

tree.xpath("string()")  # 所有文本,字符串 类型,以单一标签为分界,如 <br/>

2.正则

正则比 xpath 和 BeautifulSoup 都快
网上 太多了,
随便找一篇:https://www.cnblogs.com/greatfish/p/7572131.html

其中一些方法增加点印象:
Html 简单解析