引用lxml

目录

  1. 1.
  2. 2. 需要导入的库
  3. 3. 老物件
  4. 4. 核心
  5. 5. 输出
  6. 6. 最后

lxml大法好,是python下功能很丰富的XML和HTML解析库。
XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。

需要导入的库

import urllib.request
from lxml import etree

老物件

urllib.request :HTTP处理模块

headers=('User-Agent','Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36')

opener = urllib.request.build_opener()
opener.addheaders = [headers]
urllib.request.install_opener(opener)

url = 'https://foreverblog.cn/blog/1337.html'
data = urllib.request.urlopen(url).read().decode("utf8")
#print(data)

核心

r = etree.HTML(data) #分析html,建立结点父子关系
find_url = r.xpath("//div[@class='cleft']/a/@href") #在结点里面查找

输出

print(find_url[0])
------------------------
结果:
https://www.cnblogs.com/1go0
>>> 

最后

参考资料:
0. lxml官方第一手资料
1.lxml的使用(节点与xpath爬取数据)
2.DOM树简单理解学习
3.xpath 获取标签内的 text , href
4.xpath语法