zoukankan      html  css  js  c++  java
  • xpath语法

    BeautifulSoup 不支持XPath,lxml、Selenium、Scrapy 支持。

    在XPath 语法中有四个重要概念。

    根节点和非根节点

    /div 选择 div 节点,只有当它是文档的根节点时

    //div 选择文档中所有的 div 节点(包括非根节点)

    通过属性选择节点

    //@href 选择带 href 属性的所有节点

    //a[@href='http://google.com'] 选择页面中所有指向 Google网站的链接

    通过位置选择节点

    //a[3] 选择文档中的第三个链接 //table[last()] 选择文档中的最后一个表

    //a[position() < 3] 选择文档中的前三个链接

    星号(*)匹配任意字符或节点,可以在不同条件下使用

    //table/tr/* 选择所有表格行 tr 标签的所有的子节点(这很适合选择 th 和 td 标 签)

    //div[@*] 选择带任意属性的所有 div 标签

    XPath 语法:https://msdn.microsoft.com/en-us/enus/library/ms256471

    # python2.7
    from scrapy import Spider from tutorial.items import TutorialItem class TutorialSpider(Spider): name = "a" allowed_domains = ["cnblogs.com"] start_urls = ["https://www.cnblogs.com/"] def parse(self,response): item = TutorialItem() title = response.xpath('//*[@id="post_list"]/div[3]/div[2]/h3/a/text()')[0].extract() print "Title is: " + title item['title'] = title return item

    xpath也可以通过下面的方法获取:

  • 相关阅读:
    Python垃圾回收机制 总结
    求二叉树中任意两个结点的距离
    Python 实现排序算法
    InnoDB 索引原理
    Linux常用脚本命令总结
    How Django works?
    RabbitMQ 知识总结
    最短路径之Dijkstra算法和Floyd-Warshall算法
    最小生成树之Prim算法和Kruskal算法
    Python collections模块总结
  • 原文地址:https://www.cnblogs.com/zhouwp/p/8316866.html
Copyright © 2011-2022 走看看