今天在写爬虫。

为了减少提交请求的次数,决定不爬取详情页,只爬取列表页。

如图所示:

采集下html之后,尝试将每一个条目作为一个节点。

这样的话,就引申出一个问题:怎样使用xpath选取子节点呢?

如果使用双斜线的话,选出来的是【所有子节点】。举个例子:

这样选出来6个节点。

如果是使用单斜线,那么选出来的就是【直接子节点】。再举个例子:

这里选择的是ul下面的直接li子节点(共计5个),还有一个间接子节点没有选到,就是span标签下面还套着一个li,证明选择的确实是直接节点。

但有一个特例就是,如果我把那个span节点删去,是li套着li,那么这样就会选出来6个li节点,包括外面的li节点和里面的li节点。

如图所示:

xpath选取子节点的一个特例 :同名子节点相关推荐

  1. JavaScript中节点获取,节点的属性,如何操作节点

    任何 HTML 或 XML 文档都可以用 DOM 表示为一个由节点构成的层级结构.     一般来说在HTML中文档的节点分为三种: 1.元素节点 通过querySelector获取的节点就是元素节点 ...

  2. xpath 取标签下所有文字内容_对Xpath 获取子标签下所有文本的方法详解

    对Xpath 获取子标签下所有文本的方法详解 在爬虫中遇见这种怎么办 想提取名称, 但是 名称不在一个标签里 使用xpath string()方法 例如 data.xpath("string ...

  3. 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。

    给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树. 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数. 节点的右子树只包含 大于 当前节点的数. 所有左子树和右子 ...

  4. 2.<tag-二叉树和层序遍历相关题>-lt.116. 填充每个节点的下一个右侧节点指针 + lt.117. 填充每个节点的下一个右侧节点指针 II 1

    lt.116. 填充每个节点的下一个右侧节点指针 [案例需求] [思路分析一, 迭代法] [代码实现] /* // Definition for a Node. class Node {public ...

  5. JS节点操作(1) - 父节点,子节点,兄弟节点

    节点操作的作用 获取元素通常使用的两种方式: 1. 利用DOM提供的方法获取元素 document.getElementById() document.getElementsByTagName() d ...

  6. jstree禁用父节点点击_Jstree选中父节点时禁用子节点也被选中

    这次给大家带来Jstree选中父节点时禁用子节点也被选中,解决Jstree选中父节点时禁用子节点也被选中的注意事项有哪些,下面就是实战案例,一起来看一下. 问题描述: 最近用jstree遇到一个问题, ...

  7. 假设你有一个多层感知机网络(MLP),输入层有10个节点、一个单隐层共50个神经元,最后是一个3个神经元的输出层。请问网络的结构是什么样子的使用数学形式进行描述?

    假设你有一个多层感知机网络(MLP),输入层有10个节点.一个单隐层共50个神经元,最后是一个3个神经元的输出层.请问网络的结构是什么样子的使用数学形式进行描述? 输入矩阵X的形状是什么? 隐藏层的权 ...

  8. php打印从1到1000,输入一个链表的头节点,从尾到头打印每个节点的值,利用PHP如何实现?...

    以下是我的实现代码(我只是打印出了每个节点): /** * Question:输入一个链表的头节点,反向打印链表节点 * Author:entner * time: 2017-7-21 * versi ...

  9. 如何复制一个含有随机指针节点的链表

    复制含有随机指针节点的链表 一种特殊的链表节点类描述如下: public class Node {public int value;public Node next;public Node rand; ...

最新文章

  1. java应用之solr入门篇
  2. delphi excel取批注所在的行列_35个Excel使用技巧
  3. 【转】CT层厚、层间距、层间隔的概念是什么,MRI的层厚、层间距、曾间隔是什么
  4. 如何制作自动更新程序?
  5. php-fpm的重启
  6. MySQL增量备份及恢复
  7. easyui关闭dialog后刷新父页面_两种方法WordPress批量打开、关闭文章评论功能
  8. php与ipa接口登录验证失败,thinkPHP5.0开发微信小程序登录接口signature验证失败
  9. oracle服务端导出/导入方式expdp/impdp
  10. 单片微机计算机原理与接口技术高峰,单片微机原理与接口技术(第2版)
  11. 轨道交通计算机联锁系统应用,计算机联锁系统论文(2)
  12. 卡诺图化简及逻辑函数的规范范式:SOP与POS形式
  13. LeetCode.868-二进制距离(Binary Gap)
  14. mysql设置允许远程访问
  15. 解决IE11兼容HTML5 设置:设置兼容性视图网站正常显示网页
  16. visual studio 2010 没有代码提示(智能提示)或代码提示很慢解决方案一例
  17. HTTPS文件服务器搭建,搭建一个简易的https
  18. NLP神经网络之一维卷积的处理【Conv1D】和GLU层
  19. Google优化排名方法
  20. 语法基础课——第一讲 习题

热门文章

  1. postman 成功,python requests 失败
  2. gpu instancing animation代替骨骼动画的做法
  3. Linux命令,grep,tail,more,压缩备份
  4. 登峰造极,阿里高工手码分布式系统速成笔记,千万别害怕迈出第一步
  5. 移动/联通/电信与虚拟运营商资费,谁更省钱
  6. 低代码如何支持敏捷软件开发
  7. :last-of-type | CSS属性参考
  8. 关于调用系统相机以及压缩照片
  9. 前序遍历m-ary树_在Ruby中使用ary [index]- object进行数组元素分配
  10. IOS学习-----课程体系-----坚持就是胜利