6.Selectors

一、基础知识

  1. 当抓取网页时,最常见的任务是从HTML源码中提取数据。Scrapy提取数据有一套机制,被称作是选择器,通过特定的XPath或者CSS表达式来下选择HTML中的某部分数据,当然,其中lxml和Beautifulsoup也可以在scrapy中担任数据清洗的角色,主要用于爬虫规则的编写
  2. 选择器的使用步骤:

(1) from scrapy.selector import Selector:导入selector对象

(2) sel=Selector(response):声明selector对象,并将响应内容加载该对象中

(3) sel.xpath(xpath语法).extract():使用XPath对数据进行清洗,方法extract()将数据以列表的形式返回

                                                                                                  xpath路径的表达式

表达式 描述
nodename 选取此节点的所有子节点
/ 从根节点选取
// 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置
. 选取当前节点
.. 选取当前节点的父节点
@ 选取属性

xpath的方括号[]可嵌套谓语(用来查找某个特定的节点或者包含某个指定值的节点),能精确的找出所需的数据

路径表达式:eg:

      /div/a[1]: 选取属于div的第一个a标签

                     /div/a[@id!='image1.html']:选取div里属性id不为image1.html的a标签

 

posted @ 2019-03-24 11:27  凉生暖至  阅读(156)  评论(0编辑  收藏  举报