Python 爬虫之Xpath的简单使用

1. 简介:
Xpath是XML Path Language (XML路径语言)的缩写,是一门适用于XML脚本查找信息的语言,该语言同样也适用于在HTML中查找信息。
2.安装

pip install lxml

3. 常用语法:

表达式 简介
nodename 选取此节点的所有子节点
/ 从当前节点直接选取子节点
// 从当前节点选取子孙节点
. 选取当前节点
. . 从当前节点选取父节点
@ 选取属性

4. Xpath的常用表达式:
//name[@attr=‘string’]
表示选择所有名称为name,属性为attr为string的节点。
a. name表示标签头的名称,如head、body、div、title等;
b. @attr表示某一个属性,例如id、class等
c. 'string’表示属性的具体名称

举个例子:
以百度首页为例,要、我们要获取红框中的节点数据
在这里插入图片描述
代码如下:

from lxml import etree
import requests

url = 'https://www.baidu.com/'
headers = {
   
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'
}
response = requests.get(url, headers=headers)   # 通过requests获取百度首页信息
html = etree.HTML(response.text)    # 将百度首页的html代码以文本形式传给HTML类进行初始化,构造一个Xpath的解析对象
result_type = html.xpath('//*[@id="s-top-left"]/a')     # 将我们所要获取信息的xpath路径传入并进行定位
result = html.xpath('//*[@id="s-top-left"]/a/text()')   # 后面接'/text()'表示获取文本信息
print(result_type)
print(result)

运行结果:

D:\Python\python.exe C:/Users/Desktop/Code/xpath.py
[<Element a at 0x27512014a48>, <Element a at 0x27512023f48>, <Element a at 0x27512023c48>, <Element a at 0x275120231c8>, <Element a at 0x27512023e48>, <Element a at 0x27512037548>]
['新闻', 'hao123', '地图', '视频', '贴吧', '学术']

Process finished with exit code 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值