网络爬虫Xpath开发工具的使用

        开发人员在编写网络爬虫程序时若遇到解析网页数据的问题,则需要花费大量的时间编
写与测试路径表达式,以确认是否可以解析出所需要的数据。为帮助开发人员在网页上直接
测试路径表达式是否正确,我们在这里推荐一款比较好用的 XPath 开发工具—— XPath Helper
        XPath Helper 是一款运行在 Chrome 浏览器上的插件,它支持在网页上单击元素生成路径
表达式,也支持对照网页源代码手动编写路径表达式。在使用 XPath Helper 进行测试之前,
我们需要先在 Chrome 浏览器上添加 XPath Helper 插件。下面为大家分别介绍安装与使用 XPath
Helper 插件

1.安装 XPath Helper 插件

        安装 XPath Helper 插件的方式比较简单。我们既可以通过 Chrome 网上应用店进行安装,
也可以通过下载到本地的 XPathHelper.crx 文件进行安装。在这里,我们以 XPathHelper.crx
件为例演示如何安装 XPath Helper 插件,具体步骤如下。
1 )在 Chrome 浏览器的右上角单击“ ”按钮,打开自定义及控制 Google Chrome 菜单,
在该菜单中单击“更多工具”→“扩展程序”进入扩展程序页面,如图 4-2 所示。
2 )将 XPathHelper.crx 文件拖入扩展程序页面,可以看到该页面中增加了扩展程序 XPath
Helper ,然后打开该扩展程序对应的开启按钮,此时扩展程序页面的右上角位置显示了 XPath
Helper 的图标 ,如图 4-3 所示。

 

3 )在图 4-3 中,单击 图标可以看到浏览器顶部弹出一个 XPath Helper 界面,具体如
4-4 所示。
        在图 4-4 中,界面左侧的编辑区域用于输入路径表达式,右侧区域用于展示该路径表达式
选取的结果,并且会将结果总数目(默认显示的值为 0 )显示到 RESULTS 后面的括号里。

2.使用 XPath Helper 插件

        下面以豆瓣网站上喜剧电影排行榜页面为例,为大家分步骤演示如何使用 XPath Helper
工具测试路径表达式,具体步骤如下。
        (1 )在浏览器中打开豆瓣电影首页,在该页面中单击“排行榜” “喜剧”进入喜剧电
影排行榜首页。喜剧电影排行榜首页中默认展示 20 部电影,当滚动条滑至页面底部时,会有
新的电影加载到页面中。在该页面顶部第一部电影名称“美丽人生”的上方单击鼠标右键,
打开快捷菜单,在该菜单中选择“检查”。页面底部弹出了 Elements 的面板,并定位到了电影
名称“美丽人生”对应元素源代码的位置,具体如图 4-5 所示。
        (2 )分析图 4-5 中元素的层次结构后,推断出最终的路径表达式可以为:
//div[@class='movie-info']/div/span/a/text()
        需要说明的是,路径表达式并不唯一,既可以是从根节点开始的绝对路径,也可以是从
任意节点开始的相对路径。
        (3 )打开 XPath Helper 工具,在左侧的编辑区域中输入上述路径表达式。此时右侧区域
中展示了路径表达式选取的结果及数目,如图 4-6 所示。

从图 4-6 中可以看出,根据左边的路径表达式,该页面展示了所有的电影名称。 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/34947.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入探索YARN集群:NodeManager内存配置与管理全攻略

深入探索YARN集群:NodeManager内存配置与管理全攻略 引言 Apache Hadoop YARN(Yet Another Resource Negotiator)作为Hadoop生态系统中的一个关键组件,为集群资源管理和作业调度提供了强大的支持。在YARN集群中,Node…

轻松学AI绘画:PS AI插件,小白的入门秘籍

各位AIGC创意爱好者们,你们是否对AI绘画充满好奇,却又对那些复杂的国外软件感到望而却步?别急,今天我要为大家介绍一款适合新手的国产PS AI插件——StartAI,它将为你的创作之路带来无限可能! StartAI&…

大学网页制作作品1

作品须知:1.该网页作品预计分为5个页面(其中1个登录页面,1个首页主页面,3个分页面),如需要可自行删改增加页面。(总共约800行html,1200行css,100行js) 2.此网页源代码只用于学习和模…

短视频最火的10个拍摄技巧,新手也能这样拍出大片效果

短视频越来越占据了人们的生活,不管是记录生活还是发个朋友圈是不是总感觉咱们自己拍出来的效果总是不如别人呢?更别说发短视频平台呢!下面就分享10个拍摄技巧大家学着试试慢慢也能拍出大片效果。 不管你以后是否发展短视频平台,…

docker配置使用

Docker配置与使用指南 目录: 简介 安装Docker 基本命令 镜像管理 容器管理 数据卷管理 网络管理 Dockerfile编写 示例代码 简介 Docker是一个开源的应用容器引擎,可以让开发者将应用及其依赖包打包到一个轻量级的、可移植的容器中,…

免费的音频剪辑软件有哪些?分享9个实用的软件,自媒体人必备!

音频剪辑软件能够帮助我们对音视频文件实现个性化剪辑,包括分割、合并、添加音效、转换格式等。那么都有哪些免费好用的音频剪辑软件和方法,本文整理了电脑、手机、在线的音频剪辑方法,能够有效解决音频剪辑的需求,一起来看看吧&a…

本地电脑配置不足,对工业仿真计算有哪些影响?

工业仿真计算对电脑的要求相对较高,这主要是因为仿真过程涉及到大量的数据处理和复杂的计算任务。一个高效的工业仿真系统需要强大的计算能力和稳定的运行环境,以确保仿真的准确性和实时性。 工业仿真对电脑配置有哪些要求 首先,工业仿真计算…

mysql函数之lpad和rpad用于字符串填充

《LPAD》 定义用法 在mysql中,lpad是一个字符串函数,用于在字符串的左侧进行填充。 语法 LPAD(str, len, padstr)其中: str 表示要填充的字符串。len 表示填充后的字符串长度。padstr 表示用于填充的字符串。 如果str长度小于len&#…

基于STM32设计的智能家居远程调温系统(通过红外线控制空调)_75

文章目录 一、前言1.1 项目介绍【1】项目功能介绍【2】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】ESP8266工作模式配置1.3 设计的意义1.4 开发工具的选择1.5 系统框架图1.6 系统功能总结1.7 原理图二、硬件选型2.1 ESP8266-串口WIFI2.2 STM32F103C8T6开发板2.3 红外学…

python中的socket使用

目录 一. socket 基础 二. 创建一个 Socket 三. 服务器端 TCP 服务器示例: 四.客户端 TCP 客户端示例: 五. UDP 服务器和客户端 5.1 UDP 服务器示例: 5.2 UDP 客户端示例: 5.3 UDP非阻塞监听 5.3.1 服务端代码&#xf…

题目 2721: 蓝桥杯2022年第十三届决赛真题-背包与魔法

题目 2721: 蓝桥杯2022年第十三届决赛真题-背包与魔法 原题链接:完成情况:解题思路:Problem ExplanationCode ExplanationSummary 参考代码:_题目2721_蓝桥杯2022年第十三届决赛真题_背包与魔法 错误经验吸取 原题链接&#xff1…

产品设计职责和量化衡量尺度

产品设计职责和量化衡量尺度 1. 源由2. 职责(Responsibilities)3. 量化矩阵(Quantify Work and Metrics)3. 具体方法(Specific Measures)4. 交付依据(Delivery Product Guidelines)5. 备忘(Memo)6. 补充 - Product Design Responsibilities and Quantitative Metrics6.1 Respon…

Hexo结合多个主题扩展为Gallery画廊并实现文章加密

文章目录 1. 初始化2. 安装加密3. 配置文件4. 创建Token5. 新建公开仓库6. 工作流7. 实现效果1. 加密2. 画廊B主题 可能参考的文章: 如何优雅的使用Github Action服务来将Hexo部署到Github Pages - Hexo 当前PC环境中有Node和Git。版本可以参考Hexo文档。 文章中…

ubuntu的不同python版本的pip安装及管理

ubuntu的不同python版本的pip安装及管理_ubuntu 安装两个pip-CSDN博客https://blog.csdn.net/qq_32277533/article/details/106770850

LRUCache

LRUCache是Android中实现内存缓存相关的组件类,当缓存满时其使用最近最少使用策略来淘汰相关的元素,以控制缓存大小。本文主要基于LRUCache相关源码分析LRUCache的创建、缓存的添加、获取、删除流程。 LRUCache创建 LRUCache的创建可以直接看其构造函数…

SpringBoot的Mybatis-plus实战之扩展功能

文章目录 一、枚举处理器第一步、定义枚举第二步、配置文件中设置 在学习mybatisPlus时会用到扩展功能,极大解放生产力,记录下来,方便备查。 一、枚举处理器 第一步、定义枚举 新建枚举类UserStatusEnum,其主要内容如下所示。 E…

JDBC: 2.初级教程

搭建 依赖 <dependencies><!--mysql--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.27</version></dependency></dependencies> jdbc.properties u…

第10章 启动过程组 (识别干系人)

第10章 启动过程组 10.2识别干系人&#xff0c;在第三版教材第361~362页&#xff1b; 文字图片音频方式 视频13 第一个知识点&#xff1a;主要工具与技术 1、数据收集 问卷调查 包括一对一调查、焦点小组讨论&#xff0c;或其他大规模信息收集技术 头脑风暴 头脑风暴&#xff…

本地服务怎么发布成rpc服务

目录 1.引入 2.user.proto 3.userservice.cc 1.引入 example文件夹作为我们框架项目的使用实例&#xff0c;在example文件夹下创建callee和caller两个文件夹 callee是RPC服务的提供者。在callee创建一个文件&#xff1a;userservice.cc 我们有没有这样一个框架&#xff0c;把…

代码随想录算法训练营Day49|300.最长递增子序列、674.最长连续递增序列、718.最长重复子数组

最长递增子序列 300. 最长递增子序列 - 力扣&#xff08;LeetCode&#xff09; dp[i]为到当前位置i为止的最长递增子序列的长度&#xff0c;所以dp[nums.size()-1]并不一定是整个数组的最长递增子序列的长度。这里需要注意&#xff0c;但这个dp[i]怎么来的&#xff0c;我确实…