XPath
XPath (XML Path Language) 是一门在 XML 文档中查找信息的语言,可用来在 XML 文档中对元素和属性进行遍历。
XML
XML 指可扩展标记语言(EXtensible Markup Language)
XML 是一种标记语言,很类似 HTML
XML 的设计宗旨是传输数据,而非显示数据
XML 的标签需要我们自行定义。
XML 被设计为具有自我描述性。
XML 是 W3C 的推荐标准
XPat开发工具
1.开源的XPath表达式编辑工具:XMLQuire(XML格式文件可用)
2.Chrome插件 XPath Helper
3.Firefox插件 XPath Checker
选取节点
XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。
表达式
notename :查找出html所有标签名为notename的节点
/:表示从根节点开始查找(相对性的)
//:从任意位置匹配出你想要的节点
.: 选取当前节点
..:选取当前节点的父节点
@ :表示选择属性
text():取标签文本内容
notenamep[1]:取标签名为notename的第一个节点
notenamep[last()]:取标签名为notename的最后一个节点
notenamep[last()-1]:取标签名为notename的倒数第二个节点
CSS 选择器:BeautifulSoup4
和 lxml 一样,Beautiful Soup 也是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据。
抓取工具 速度 使用难度 安装难度
正则 最快 困难 无(内置)
BeautifulSoup 慢 最简单 简单
lxml 快 简单 一般
lxml:说明使用的是lxml.html解析器(速度快,容错性也比较高)
html.parser:python自带的html解析器
节点
name=None:可以是一个字符串,可以是一个列表,正则表达式 (标签的名称)
attrs={}:是一个字典,(标签的属性)
text=None:是个字符串,列表,正则表达式 (会查找出所有跟text文本一致的内容)
选择器
使用css选择器
. 点表示类选择器
# 表示id选择器