scrapy框架(二)

scrapy框架(二)

一、scrapy 选择器

概述:

Scrapy提供基于lxml库的解析机制,它们被称为选择器。

因为,它们“选择”由XPath或CSS表达式指定的HTML文档的某部分。

Scarpy选择器的API非常小,且非常简单。

Scrapy选择器是通过scrapy.Selector类,通过传递文本或者TextResonse对象构造的实例。

选择器Selector对象使用

 选择器提供2个方法来提取标签 ? xpath()     # 基于xpath的语法规则 css()       # 基于css选择器的语法规则 快捷方式 selector = response.xpath(‘‘) selector = response.css(‘‘) 它们返回的是选择器对象的列表 提取文本: selector.extract()      返回文本列表 selector.extract_first() 返回第一个selector的文本,没有返回None;可以设置default ? 有时候我们获取标签需要多次调用选择方法(.xpath()或.css()) response.css(‘img‘).xpath(‘@src‘) ? Selector还有一个.re()方法使用正则表达式提取数据的方法。它返回字符串。 它一般使用在xpath(),css()方法之后,用来过滤文本数据。 re_first()用来返回第一个匹配的字符串。 例如: response.xpath(‘//a[contains(@href, "image")]/text()‘).re(r‘Name:\s*(.*)‘) contains()  模糊匹配

二、scrapy shell 调试工具

简介:用来调试Scrapy 项目代码的 命令行工具。

启动 shell
 启动Scrapy shell的命令语法格式如下: scrapy shell [option] [url|file] ? 注意:分析本地文件是一定要带上路径,scrapy shell默认当作url
shell 的使用
 Scrapy shell 本质上就是个普通的python shell 只不过提供了一些需要使用的对象,快捷方法便于我们调试。 ? 快捷方法: shelp() fetch(url[,redirect=True]) fetch(request) view(response) scrapy 对象: crawler spider request response settings ?

三、scrapy.Spider

Spider类的属性、方法描述
name属性spider的名称
start_urls属性蜘蛛开始爬取的url列表
customer_settings属性自定义设置
start_requests()方法开始前请求
parse(self, response)默认回调函数
from_crawler创建spider的类方法

相关推荐