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
其中一些方法增加点印象: