查看原文
其他

爬虫利器XPath Helper,高效解析网页内容

The following article is from 玩转GitHub Author 威少

点击上方“dotNET全栈开发”,“设为星标

加“星标”,每天21.45,好文必达



前言

写过爬虫和网页解析的人都知道,在定位、获取xpath路径上要花费大量的时间,甚至有时候当爬虫框架成熟之后,基本上主要的时间都花费在了页面的解析上。

在没有这些辅助工具的日子里,我们只能通过搜索html源代码,定位一些id去找到对应的位置,非常的麻烦,而且经常出错。

这里分享一个chrome浏览器的小技巧

比如现在我们在抓取 博客园首页的文章xpath 路径

打开 开发者工具,鼠标选中标题元素上,右键》Capy 即可获取xpath。

执行capy xpath,获取标题元素在当前父节点的xpath

//*[@id="post_list"]/div[1]/div[2]/h3/a

执行capy full xpath,获取标题元素的在html文档中的完整xpath

/html/body/div[1]/div[4]/div[6]/div[1]/div[2]/h3/a

我觉得这样还不够方便,毕竟你复制了没法即时查看。所以我们需要这款爬虫利器!

Xpath Helper

xpath helper插件是一款免费的chrome爬虫网页解析工具。

可以帮助用户解决在获取xpath路径时无法正常定位等问题。

该插件主要能帮助你在各类网站上通过按shift键选择想要查看的页面元素来提取查询其代码,同时你还能对查询出来的代码进行编辑,而编辑出的结果将立即显示在旁边的结果框中。


XPath调试

安装好Xpath Helper后,我们再来抓取 博客园首页的文章xpath 路径。

  • 打开xpath-helper工具
  • 复制好 xpath到左边的输入框
  • 右边输入框将显示xpath定位元素的文本内容

这样就可以在输入文本框中输入相应 XPath 进行调试了,提取的结果将被显示在旁边的 Result 文本框中。

不过Xpath Helper也有两个缺点:

1.XPath Helper 自动提取的 XPath 都是从根路径开始的,这几乎必然导致 XPath 过长,不利于维护;

2.当提取循环的列表数据时,XPath Helper 是使用的下标来分别提取的列表中的每一条数据,这样并不适合程序批量处理,还是需要人为修改一些类似于*标记等。

不过,合理的使用Xpath,还是能帮我们省下很多时间的!

当然这也是我chrome浏览器必装的一款插件!赶快领取 这里有一张你的童年卡通照!

推荐阅读

转载张善友:Web 框架性能第19轮测试结果发布,ASP.NET Core拔得头筹!

转载微软改名部又惹祸,"MAUI" 引发争执

转载面试官:工作3年,你连 .NET 内存泄露都不知道!

源码@程序员,这份在线工具源码真香,请领取!

微信后台回复“core”,获取全网最强.NET Core学习资料精选
回复“实战”,获取20套实战成品项目源码

回复“进群”,可加入dotnet core开发者交流群

.NET Core已经崛起

长按关注,刷新认知

dotNet全栈开发

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存