咱们来看看爬虫三大库---Lxml库(精简版)

文章目录

  • 前言:
  • 1.修正HTML代码
  • 2.读取HTML文件
  • 3.解析HTML文件

前言:

Lxml库是基于libxm12 的XML解析库的Python封装。该模块使用C语言编写,解析速度比BeautifulSoup更快。Lxml库使用Xpath语法解析定位网页数据。在这里将讲解介绍Lxml库的使用方法及Xpath的语法知识,而且通过案例对正则表达式、BeautifulSoup 和Lxml进行性能对比,最后通过一个综合案例巩固Xpath语言的学习。

1.修正HTML代码

Lxml为XML解析库,但也很好地支持了HTML文档的解析功能,这为使用Lxml库爬取网络信息提供了支持条件,如图所示。
咱们来看看爬虫三大库---Lxml库(精简版)_第1张图片
咱们来看看爬虫三大库---Lxml库(精简版)_第2张图片
咱们来看看爬虫三大库---Lxml库(精简版)_第3张图片
这里体现了Lxml库一个非常实用的功能就是自动修正HTML代码,读者应该注意到了最后一个li标签,其实笔者把尾标签删掉了,是不闭合的。不过,Lxml因为继承了libxml2的特性,具有自动修正HTML代码的功能,这里不仅补齐了li 标签,而且还添加了html和body标签。

2.读取HTML文件

除了直接读取字符串,Lxml 库还支持从文件中提取内容。我们可以通过PyCharm新建一个flower.html 文件。在所需建立文件的位置右击,在弹出的快捷菜单中选择NewHTML File命令,如图5.4所示。
咱们来看看爬虫三大库---Lxml库(精简版)_第4张图片
咱们来看看爬虫三大库---Lxml库(精简版)_第5张图片

3.解析HTML文件

完成了前面的步骤后,便可利用requests 库获取HTML文件,用Lxml库来解析HTML文件了。

from lxml import etree
import requests
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'
}
res = requests.get('https://book.douban.com/top250' , headers=headers)
html = etree.HTML(res.text)
result = etree.tostring (html)
print (result)

在这里插入图片描述
XPath是一门在XML文档中查找信息的语言,对HTML文档也有很好的支持。可以了解Xpath的常用语法以及Xpath语法在爬虫中的使用技巧.这个需要各位作为拓展理解来认识。
好了,本篇博客就到这里了。在往下翻,我的头发都没了。咱们来看看爬虫三大库---Lxml库(精简版)_第6张图片

你可能感兴趣的:(咱们来看看爬虫三大库---Lxml库(精简版))