欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

spider----xpath学习

程序员文章站 2022-05-08 10:57:57
...
  1. xpath语法:
    1. 常用的路径表达式
      1. /   从根节点         ----       //   从任意位置开始查找
      2. .    从当前节点查找   -----    ..  .    从当前节点的父节点查找
      3. @ 选取标签属性
      4. bookstore/book[1]   取出符合要求的第一本book,下标从1开始
      5. bookstore/book[last()]   取出最后一本book
      6. bookstore/book[last()-1]  取出倒数第二本book
      7. bookstore/book[position()<3]  取出前两本book
      8. //book/title | //book/price   两个结果或起来
      9. //title[@lang]     所有拥有lang属性的title节点
  2. 谷歌插件的使用
    1. 谷歌浏览器插件的使用
      		启动和关闭:ctrl+shift+x
      	(1)属性筛选
      		//input[@id="kw"]
      		//span[@class="bg s_ipt_wr quickdelete-wrap"]
      	(2)层级和索引选择
      		//a[@class="mnav"][position()<3]
      		//a[@class="mnav"][last()]
      		//a[@class="mnav"][1]
      		//div[@id="head"]/div/div[3]/a[2]
      		//div[@id="head"]/div/div[@id="u1"]/a[2]
      		//div[@id="head"]/div//a[@class="mnav"][2]
      	(3)获取属性-获取文本
      		//div[@id="head"]/div//a[@class="mnav"][2]/@href
      		//div[@id="head"]/div//a[@class="mnav"][2]/text()
      	(4)函数
      		starts-with
      			//div[@id="u1"]/a[starts-with(@href,"https")]
      			//div[@id="u1"]/a[starts-with(text(),"地")]
      		contains
      			//div[@id="u1"]/a[contains(text(),"多产")]
      			//div[@id="u1"]/a[contains(@href,"www")]
      	谷歌浏览器自带xpath
      		//*[@id="u1"]/a[2]
      		//*[@id="result_logo"]/img[1]
      		#result_logo > img.index-logo-src
      	xpath在代码中的应用
      	(1)可以解析本地文件
      		from lxml import etree
      		tree = etree.parse(文件名)
      		ret = tree.xpath('路径表达式')
      		返回的是一个列表
      	(2)可以解析网络文件
      		tree = etree.HTML(网络文件字符串内容)

       

    2. xpath简单使用:
      1. from lxml import etree
        
        tree = etree.parse('xpath.html')
        
        # print(tree)
        # ret = tree.xpath('//li[@id="jun"]')
        
        # print(ret)
        ret = tree.xpath('//div[@class="xiandai"]')
        print(ret)

         

 

相关标签: spider