scrapy的Xpath表达式总结

Posted encp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scrapy的Xpath表达式总结相关的知识,希望对你有一定的参考价值。

我们在使用scrapy的时候,常常会用到xpath表达式,用过xpath你会觉得,哇,比正则简单呀!确实,xpath简单明了,但是并不代表xpath在scrapy里面会替代掉正则哦!

1.什么是xpath

   Xpath是一门在XML文档中查找信息的语言,可以对XML文档中的元素和属性使用路径表达式进行导航,Xpath包含一个标准函数库。

 

2.xpath常用标签

  / ------提取某个标签下的所有内容
  text() ------- 提取标签所包含的文本内容
  @ ---------- 提取标签属性的信息
  // ---------- 寻找所有的标签
  [@属性=值] ------ 定位标签
 
3.使用举例
  /html -----代表提取html标签内的所有内容
  /html/head/title -----代表提取title下面的所有信息
  //li ------ 代表提取所有的li标签
  //li[@class=‘hidden-xs‘] -------- 直接定位到满足条件的标签
  //li[@class=‘hidden-xs‘]/a/@heef ---------- 提取到class = hidden-cs的li标签下面的a标签的href的值
 
4.scrapy中使用xpath
  下面为大家提供一个参考方法(scrapy下写的一个爬虫方法),是用来爬取html页面的title标签内容和class=‘note’的div标签下的内容
def next(self,response):
title = response.xpath("/html/head/title/text()").extract()
note = response.xpath("//div[@class = ‘note‘]/text()").extract()
print(title)
print(note)
 

以上是关于scrapy的Xpath表达式总结的主要内容,如果未能解决你的问题,请参考以下文章

scrapy知识补充--scrapy shell 及Spider

scrapy的学习总结

Scrapy模块

Scrapy Spider没有返回所有元素

scrapy选择器归纳

python爬虫scrapy之scrapy终端(Scrapy shell)