学习XPath助力爬取中秋各大电商平台数据

简介: 学习XPath助力爬取中秋各大电商平台数据

目录


  1. XPath是什么?
  2. 浏览器插件: XPath Helper
  3. XPath节点
  4. XPath语法
  5. XPath运算符
  6. 实战案例


XPath是什么?


  1. XPath是一门在XML文档中查找信息的语言。
  2. XPath提供的路径表达式方便我们在XML文档中选取节点或节点集合。
  3. XPath提供了大量的标准函数,如:处理字符串,数值,日期,时间,节点,逻辑关系等。
  4. XPath符合W3C标准。


浏览器插件: XPath Helper


我们通过浏览器插件来验证我们的写XPath语句是否成功更为方便。

  1. 在Chrome浏览器的商店搜索XPath Helper并添加。

1.png

  1. 打开目标网站后点击我们的插件图标呼出操作栏
  1. 操作栏左侧为XPath语句
  2. 操作栏右侧为匹配结果

2.png


XPath节点


对于XPath来说也是包含了节点,值,节点间的关系三部分。节点有元素,属性,文本,命名空间,指令,注释和根节点7类,节点间的关系有父子关系,兄弟关系,先辈关系,后代关系。


XPath语法


// 案例演示使用
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div>
        <h3 style="font-weight: 500;">Hello XPath 1</h3>
        <h3 style="font-weight: 600;">Hello XPath 2</h3>
        <h3 style="font-weight: 600;">Hello XPath 3</h3>
    </div>
</body>
</html>

选取节点:
  1. 选取文档所有节点:Root node name
  2. 从根节点选取:/
  3. 从任意位置选择://
  4. 选取当前节点:.
  5. 选取当前节点的父节点:..
  6. 选取属性: @
  7. 案例:
  1. 选取根元素:/html
  2. 从根元素开始选取div下的所有子元素:/html/body/div
  3. 从根元素开始选取div下的所有h3元素:/html/body/div//h3
  4. 从任意位置选取h3元素://h3
  5. 从任意位置选取style属性://@style

谓语:

缩小节点的选取到指定位置

  1. 选取div下第一个h3:/html/body/div/h3[1]
  2. 选取div下最后一个h3:/html/body/div/h3[last()]
  3. 选取div下倒数第二个h3:/html/body/div/h3[last()-1]
  4. 选取div下前两个h3:/html/body/div/h3[position()<3]
  5. 选取所有带style属性的h3:/html/body/div/h3[@style]
  6. 选取所有带style属性且值为600磅的h3:/html/body/div/h3[@style="font-weight: 600;"]
  7. 选取title元素和div下的所有子元素:/html/head/title | /html/body/div

选取未知节点:
  1. 匹配未知元素:*
  2. 匹配未知属性:@*
  3. 匹配任何类型的节点:node()


XPath运算符


图表来源:www.runoob.com/xpath/xpath…

运算符 描述
+ 加法
- 减法
* 乘法
div 除法
= 等于
!= 不等于
< 小于
<= 小于或等于
> 大于
>= 大于或等于
or
and
mod 计算除法的余数


利用中秋各大电商平台页面实战


目标:
  1. 获取搜索到的第一件商品的信息。
  2. 获取搜索到的前三件商品的信息。
  3. 获取搜索到的最后一件商品的信息。
  4. 获取搜索到的价格大于200元的商品信息。


淘宝平台实战:


s.taobao.com/search?q=中秋月饼


商品各字段匹配:
  1. 匹配商品名称:

//div[@data-category="auctions"]/div[2]/div[2]/a 2. 匹配价格://div[@data-category="auctions"]/div[2]//div[@class="price g_price g_price-highlight"]/strong 3. 付款人数://div[@data-category="auctions"]/div[2]/div[1]/div[2] 4. 匹配封面://div[@data-category="auctions"]/div[1]//img/@src

匹配搜索到的第一个商品:
//div[@data-category="auctions"][1]

3.png

匹配搜索到的前三个商品:
//div[@data-category="auctions"][position()<=3]

4.png

匹配搜索到的最后一个商品:
//div[@data-category="auctions"][last()]

5.png

//div[@class="price g_price g_price-highlight"][strong>200]/../../..

6.png


备注:我们也可以通过浏览器的开发者工具来直接获得XPath后再手工调整来节省时间,如下图所示。

  1. Copy XPath://*[@id="bd672fe6-3dd0-475e-96db-4b0fe71f72eb"]/div[2]/div/div[1]/div/div/div/div[1]/a
  2. Copy full XPath:/html/body/div/div/section/section/main/div[2]/div/div/div[2]/div/div[1]/div/div/div/div[1]/a

7.png


结语


通过浏览器的开发者工具我们可以看到选取节点的方式有selector,JSPath等,选择自己习惯用的就可以了,熟练的选取元素节点为你的爬虫添砖加瓦吧~~~



相关文章
|
2月前
|
算法 UED
如何利用体育直播平台进行内容变现
随着互联网的发展,体育赛事的商业化日益多元化,成为推动体育行业发展的关键动力。熊猫比分体育赛事直播平台凭借精准的商业模式和运营策略,在行业中脱颖而出。其直播运营、私域变现和专家推荐等功能,不仅提升了用户体验,还实现了高效变现。通过熊猫比分提供的成熟源码,搭建和运营效率显著提高,助力平台在体育市场中占据一席之地。
118 13
|
6月前
|
数据采集 数据可视化 搜索推荐
Python爬虫技术从去哪儿网获取旅游数据,对攻略进行可视化分析,提供全面的旅游攻略和个性化的出行建议
本文利用Python爬虫技术从去哪儿网获取旅游数据,通过数据处理和可视化分析,提供了全面的旅游攻略和个性化出行建议,同时探讨了热门目的地、出游方式、时间段以及玩法的偏好,为旅游行业和游客提供了有价值的参考信息。
405 9
《娱乐社交行业利用PAI的增长方法》电子版地址
《娱乐社交行业利用PAI的增长方法》PPT
72 0
《娱乐社交行业利用PAI的增长方法》电子版地址
|
新零售 搜索推荐 SEO
某知名电商网站营销总监教你如何做[伪原创]内容,搞网络推广的必看!!!
这是一篇关于伪原创写作的帖子,写这个并不是鼓励大家去抄改编,只是教大家如何利用别人的资源,以掘取到更多的资源。在网络中,最重要的部分无疑是内容,网站只是一种内容的体现。内容为王总是对的。但这不是说你能写出原创的内容,就能在网络上称王称霸了。
1245 0
|
Web App开发 前端开发
淘宝、拼多多、小红书,很多知名的企业都是从一个网站开始的
网站是企业了解线上用户数据的一个方向,可以通过分析网站数据了解其潜在客户在哪里?然后再定向的投放市场广告,这样可以达到事半功倍的效果。
|
运维 Android开发 iOS开发
盘点抖音源码中的广告变现方式
抖音还上线过其他变现方法,比如它的广告功能,抖音的广告功能有以下几种

热门文章

最新文章