三大解析工具对比
解析工具 | 解析速度 | 使用难度 |
BeautifulSoup | 最慢 | 最简单 |
lxml | 快 | 简单 |
正则表达式 | 最快 | 最难 |
BeautifulSoup4库
和 lxml 一样,Beautiful Soup 也是一个HTML/XML的解析器,主要的功能也是如何 解析和提取 HTML/XML 数据。 lxml 只会局部遍历,而Beautiful Soup 是基于HTML DOM(Document Object Model)的,会载入整个文档,解析整个DOM树,因此时间和内存开销都会大很多, 所以性能要低于lxml。
lxml库和XPath
lxml 是 一个HTML/XML的解析器,主要的功能是如何解析和提取 HTML/XML 数据。 lxml和正则一样,也是用 C 实现的,是一款高性能的 Python HTML/XML 解析器,我 们可以利用之前学习的XPath语法,来快速的定位特定元素以及节点信息。
xpath(XML Path Language)是一门在XML和HTML文档中查找信息 的语言,可用来在XML和HTML文档中对元素和属性进行遍历。
XPath开发工具 Chrome插件XPath Helper。 Firefox插件Try XPath。
什么是正则表达式
通俗理解:按照一定的规则,从某个字符串中匹配出想要的数据。这个规则就是正则表达式。