前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >1-xpath敲黑板

1-xpath敲黑板

作者头像
xbhog
发布2019-10-28 18:19:51
5490
发布2019-10-28 18:19:51
举报
文章被收录于专栏:开发技能乱炖

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_43908900/article/details/102732366

本节讲解网页解析神器----XPath

  1. lxml下载
  2. xpath基本用法
  3. xpath插件

Xpath及XML路径语言,它是一门在XML文档查找信息的语言。

一:lxml下载以及安装

首先需要解决lxml的安装问题,在Windows下我们可以尝试使用pip install lxml 下载,如果没有任何报错的,恭喜安装成功,下面可以进行骚操作了;如果出现报错,出现的提示出现libxml2库等信息,可以采用wheel安装。

wheel的安装方法:推荐去 http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml 下载对应的lxml文件,切换到下载文件的目录下,进入cmd,pip install {文件名}.wheel进行安装。

二:xpath的使用方法

介绍一下xpath的常用规则:

表达式

描述

示例

结果

nodename

选取此节点的所有子节点

xbhog

选取xbhog下所有的子节点

/

如果是在最前面,代表从根节点选取。否则选择某节点下的某个节点

/xbhog

选取根元素下所有的xbhog节点

//

从全局节点中选择节点,随便在哪个位置

//xbhog

从全局节点中找到所有的xbhog节点

@

选取某个节点的属性

//xbhog[@price]

选择所有拥有price属性的xbhog节点

.

当前节点

./a

选取当前节点下的a标签

路径表达式

描述

/bookstore/book[1]

选取bookstore下的第一个子元素

/bookstore/book[last()]

选取bookstore下的倒数第二个book元素。

bookstore/book[position()❤️]

选取bookstore下前面两个子元素。

//book[@price]

选取拥有price属性的book元素

//book[@price=10]

选取所有属性price等于10的book元素

这些基本规则基本上满足日常需求了,如果还有其他问题,百度是个好东西你值得拥有。

下面举个例子实战一下:

下面是我博客的内容,我们需要做的就是爬取这一页的标题内容:[两个数组的交集…],想一下!

在这里插入图片描述
在这里插入图片描述

我们先打开开发者模式,找到标题所在的网页源代码:

在这里插入图片描述
在这里插入图片描述

我们从最里面一步一步往外推,<a> --> <h4> --> <div class="article-item-box csdn-tracking-statistics"> --><div class="article-list">

代码语言:javascript
复制
<div class="article-list"> 是  <h4> 标签的父节点

<div class="article-list"> 是  <a>  标签的孙节点

<h4> 是 <a> 标签的父节点

所以我们可以参照上面的常用规则写出://div[@class=‘article-list’]//h4表达式,我们看到下图中的标题都已经选中了,这就证明我们写的表达式正确。

在这里插入图片描述
在这里插入图片描述

三:插件介绍(xpath helper)

有人会发现我图片中出现黑色的框,这是谷歌的一个插件(xpath helper), 在chrome浏览器安装好xpath helper插件后(科学访问,人人有责), 点击 Ctrl + Shift + X 激活 XPath Helper 的控制台,然后您可以在 Query 文本框中输入相应 XPath 进行调试了,提取的结果将被显示在旁边的 Result 文本框中,可以实时检测自己的表达式是否正确。

在这里插入图片描述
在这里插入图片描述

最后有个小补充,如果你不想写xpath语法,你还可以F12,选中你想要的信息右击,copy–copy xpath,缺点是没有手写的简洁,copy的比较繁琐,不利于阅读。

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/10/24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 本节讲解网页解析神器----XPath
    • 一:lxml下载以及安装
      • 二:xpath的使用方法
        • 下面举个例子实战一下:
      • 三:插件介绍(xpath helper)
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档