Python爬虫——xpath和lxml模块

本文介绍了Python中的XPath和lxml模块,用于XML和HTML文档的节点定位。XPath是一种查询语言,方便在文档中找到元素和属性。lxml库提供了将HTML文本转换为XML对象并应用XPath的功能。文章详细讲解了XPath的基本概念,如节点关系,以及在Python中安装和使用lxml的方法。最后,通过实例展示了如何利用lxml爬取豆瓣电影Top 250的数据,包括电影名、评分、引言和链接,并将其保存到CSV文件。
摘要由CSDN通过智能技术生成

1.xpath

1.1 基本概念

  • XPath(XML Path Language)是⼀种XML的查询语⾔,他能在XML树状结构中寻找节点。XPath 用于在XML文档中通过元素和属性进行导航
  • xml是⼀种标记语法的文本格式,xpath可以⽅便的定位xml中的元素和其中的属性值。lxml是python中的⼀个包,这个包中包含了将html⽂本转成xml对象,和对对象执行xpath的功能

1.2 节点的关系

xml_content = '''
<html>
<head>
    <title>Title</title>
</head>
<body>
    <span1 class=" ">Span1</span1>
    <span2 class=" ">Span2</span2>
    <span3 href =" ">Span3</span3>
</body>
</html>
'''

在上面的XML文档中

  • 文档节点:<html>,<head>,<body>
  • 元素节点:<title>Title</title> ,<span1 class=" ">Span1</span1>等
  • 属性节点:class=" “,href =” "
  • 子节点:内部不再存在元素节点的节点,例如:title,span1,span2,span3,span4
  • 父节点:内部还存在元素节点的节点,例如:head,body
  • 同胞:共同属于同一父节点的子节点,例如:span1,span2,span3,span4
  • 先辈:指子节点的父节点以及父节点的父节点,例如:html,head,body

2.基本使用

2.1 工具安装

常用节点选择工具:

  • chrome插件XPath Helper
  • Firefox插件XPath Checke

安装包与安装教程

XPath Helper常用表达式

表达式 功能
nodename 选取根节点nodename的所有子节点
/ 从根节点进行选取
// 从文档中匹配所有选择节点
. 选取当前节点
.. 选取当前节点的父节点
@ 选取属性

查找某个特定的节点或者包含某个指定的值的节点

路径表达式 结果
/html/head/title 选取title节点
/html/body[1] 选取span1节点
/html/body[last()] 选取span3节点
//span1[@class=" "] 选取class=" "的span1节点

2.2 模块的使用

  • 在Python中,我们安装lxml库来使⽤XPath 技术
  • lxml 是 ⼀个HT
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值