百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

「Python基础知识」XPath_Helper插件的用法

liuian 2025-01-11 15:10 44 浏览

在chrome浏览器输入:chrome://extensions/,如图1所示。

图1 Chrome的扩展程序

在上面的界面中直接将XPath-Helper_v2.0.2.crx拖动至该扩展程序页面,点击确定即可。如果安装失败,弹框提示:无法从该网站添加应用、扩展程序和用户脚本,则打开开发者模式,将crx文件后缀修改为rar,并解压成文件夹,点击开发者模式中的加载已解压的扩展程序按钮,选择解压后的文件夹,点击确定,安装成功。安装完这个插件的Chrome浏览器见图2。其中XPath-Helper插件的图标是黑底方框内部为白色x。

图2安装了扩展程序的Chrome

安装了XPath_Helper后,下面介绍一下XPath_Helper的用法。鼠标点击XPath_Helper的图标,然后在Chrome浏览器中上面部分就弹出了XPath_Helper界面。这时,用户可以按住shift,把鼠标悬停在想要抓取的HTML页面元素上,则在XPath_Helper界面左侧窗口中显示出这个HTML页面元素带属性的XPath绝对路径,而右侧窗口显示出该HTML页面元素的内容。具体如图3所示。

图3 XPath_Helper使用

下面采用XPath_Helper分析一下百度贴吧网站。击XPath_Helper,获得网页上的各种元素的XPath信息。

首先,获取lol吧的关注数量,按住shift,鼠标悬停在关注数量上,则XPath_Helper中得到了该HTML元素的XPath路径:

/html/body[@class='skin_normal']/div[@class='wrap1']/div[@class='wrap2']/div[@class='header']/div[@id='pagelet_frs-header/pagelet/head']/div[@class='head_main']/div[@class='head_content']/div[@class='card_top_wrapclearfixcard_top_theme']/div[@class='card_topclearfix']/div[@class='card_title']/div[@class='card_num']/div[@id='pagelet_forum/pagelet/forum_card_number']/span/span[@class='card_menNum']

这是个绝对路径,从网页的根目录开始,一般在编写爬虫程序时,这个路径太长,不建议使用,可以用带有唯一属性的XPath相对路径表示该元素,这时在XPath_Helper左侧的框中修改XPath绝对路径,思路是在Chrome开发工具的Elements中观察这个元素对应的HTML源代码,如果这个标签带有类(class)属性,则一般用这个代表该元素。例如把上述绝对路径改为//span[@class='card_menNum'],在XPath_Helper右侧的结果框中依然得到关注数:12,913,346,则表明采用的XPath相对路径是有效的,在写爬虫代码时,采用这个相对路径,即可找到该元素。

图4展示了采用XPath相对路径找到lol吧的关注数量的结果页面。

图4 获取百度lol贴吧的关注数量

下面想获得lol贴吧置顶帖子的标题这个信息,具体见图5展示出的部分。这时发现采用XPath_Helper较难同时获得这3个置顶帖子的XPath路径,带了属性的标签很长,看着有点晕。不要怕,采用Chrome开发工具中的“小箭头”(即在网页中选择一个元素并查看它)来解决类似的问题。先点起这个按钮,然后把鼠标悬停到想要查看的元素上,这时在Elements窗口中这个元素对应的HTML源码被高亮了,接着右键单击这个高亮块,在弹出菜单中选择Copy,并在子菜单中选择CopyXPath。然后把得到的内容拷贝到XPath_Helper的左侧窗口中,则右侧窗口中得到了对应的内容。这时,XPath_Helper左侧窗口中的内容是//*[@id="thread_top_list"]/li[2]/div/div[2]/div/div[1]/a。接下来采用上面同样的方法获得其他置顶帖子标题的XPath相对路径,并仔细观察这几个路径。发现不同之处在于被反斜杠划分出的第二部分li标签中括号中的数字分别是1、2、3。这时可知这几个置顶帖子是存放在id为thread_top_list这个大的ul标签中,且被不同的li标签包含着,所以把li标签的中括号数字去掉,这时就能对应上所有的置顶帖子标题,具体如图5所示。

图5 获取百度lol贴吧的置顶帖子信息

相关推荐

推特官网入口(推特官网入口网页登录网址)

首先在浏览器中打开推特的官网,然后点击页面上的“注册”创建账号。Twitter可以让用户更新不超过140个字符的消息(除中文、日文和韩语外已提高上限至280个字符),这些消息也被称作“推文(Tweet...

windows7如何清理c盘(win7怎么清理c盘)

1.打开桌面计算机,右键点击“C盘”,并选取“属性”。2.待新窗口弹出后,依次点击“工具”、“立即进行碎片整理”。3.最后,选取C盘,在按下“磁盘碎片整理”按钮,系统就会对C盘进行分析,并进行整理。4...

win10自带分区工具(win10官方分区工具)

Win10自带的分区工具是磁盘管理器,可以用来创建、删除、格式化和调整磁盘分区。下面是使用磁盘管理器分区的步骤:1.打开磁盘管理器。您可以在Windows10搜索栏中输入“磁盘管理器”来快速打开。...

appstore正版下载软件(apple store下载正版)

不会,他是正版的,因为只有ios系统可以用,但他里面的好游戏都是要收费的,所以打架都要越狱,去其它地方下载,不去商店的在安卓上,GooglePlayStore是类似于苹果的AppStore一...

手机锁屏密码键盘没了(手机输入密码的键盘没了怎么办)

如果手机锁屏密码的键盘找不到,首先要确认是否是由于软件问题导致的。可以尝试重启手机或者清理手机缓存来解决。如果问题仍然存在,可以尝试更换输入法或者恢复手机出厂设置来解决。如果以上方法都没有效果,建议联...

移动硬盘跟固态硬盘的区别(移动硬盘跟固态硬盘的区别是什么)

一:移动硬盘移动硬盘是指以传统机械磁盘作为存储介质,用于计算机之间交换大容量数据,讲究移动便携性的存储产品。优点:具有容量大、价格便宜的特点,方便存储大量文件数据。(推荐学习:web前端视频教程)缺...

windows怎么截图快捷键(windows截图快捷键没反应)

1、按Prtsc键截图这样获取的是整个电脑屏幕的内容,按Prtsc键后,可以直接打开画图工具,接粘贴使用。也可以粘贴在QQ聊天框或者Word文档中,之后再选择保存即可。2、按Ctrl+Prtsc键截图...

显示器分辨率有哪几种(显示器屏幕分辨率都有哪些)

目前使用较多的显示器分辨率有640*480,800*600,1024*768,1280*1024四种。刷新率,这主要是指显示器显示画面每秒刷新的次数,现在的电脑显示屏刷新率一般为75Hz,如果刷新率在...

小马激活工具网址(小马激活工具是什么东西)
  • 小马激活工具网址(小马激活工具是什么东西)
  • 小马激活工具网址(小马激活工具是什么东西)
  • 小马激活工具网址(小马激活工具是什么东西)
  • 小马激活工具网址(小马激活工具是什么东西)
windows7激活工具 知乎(win7激活工具怎么使用教程)

Win7激活工具有很多,比如kms激活工具、小马激活工具、Windowsloader等。下面以这三款激活工具为例,做一个简单的比较。1、kms激活工具,相对比较稳定,通用性强,对各种gho、iso镜...

英伟达高端显卡排行(英伟达最高级显卡)

具体的排名如下:1、NVIDIAGeForceRTX30902、NVIDIAGeForceRTX3080Ti3、NVIDIAQuadroRTXA60004、NVIDIAGeFor...

苹果电脑为啥不能玩游戏(买苹果电脑的十大忠告)

1、MacBook本身就不是用来玩游戏的,是用来轻度办公的,只有集成显卡没有独立显卡,玩游戏也会非常卡。2、MacOS系统虽然支持steam软件,但是里面的游戏并不支持MacOS,况且本身支持MacO...

笔记本电脑显卡驱动怎么安装

使用驱动精灵或者驱动之家搜索驱动,下载后会自动安装驱动的。您好,以下是安装MacBook独立显卡驱动的步骤:1.打开“应用程序”,找到“实用工具”文件夹,打开“终端”。2.在终端窗口中输入以下命令...

家庭wifi已连接不可上网(家里wifi已连接不可用是什么原因)

WiFi已连接不可上网原因和解决方法一、路由器不稳定有些无线路由器、光猫(宽带猫)的质量比较差,长时间运行后会出现死机等一系列的问题。解决办法:把你家里的无线路由器、光猫(宽带猫)断电,等待几分钟,然...

win10专业版在哪下(win10专业版在哪下载)

1.登陆MicroSoft官方网站会员中心,https://insider.windows.com/?lc=1033,点击“登陆”。2.使用hotmail邮箱或者开发者帐号登陆即可。3.选择“获...