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的类方法

最新文章

  1. Android 开源库和项目 2
  2. MLlib决策树与集成树
  3. 初识Java-分数录入系统
  4. hdu 1394 Minimum Inversion Number(树状数组)
  5. Orchard创建全局应用
  6. win7 IIS 部署-vs2012开发网站-全是问题啊。。。
  7. 数据结构之二分查找(PHP)
  8. js变量在属性里的写法 常用mark 多个DL遍历添加一个父级DIV
  9. PaintCode调研
  10. cocos2dx下最大纹理大小取决于平台
  11. Cocos2d-x中Vector使用
  12. Linux kernel ‘ip6_sk_dst_check’函数拒绝服务漏洞
  13. VC,一条会被鼠标移动的直线
  14. Unsupervised pre-training
  15. 全志A33 lichee 修改开机图片
  16. MFC树形控件的使用(右键点击)
  17. 结合sklearn的可视化工具Yellowbrick:超参与行为的可视化带来更优秀的实现
  18. OpenCV轮廓vectorvector
  19. c++实现Xml和json互转【转】
  20. Web缓存加速指南(转载)

热门文章

  1. Mybaits学习总结
  2. 【转】Pandas常见用法总结
  3. Java 大黑话讲解设计模式 -- UML类图
  4. C语言之修改常量
  5. mysql配置允许外界连接
  6. HTML标签的for属性
  7. Nginx动静分离(Nginx+Tomcat)
  8. 使用HttpReports快速搭建API分析平台
  9. linux免密登录和设置别名
  10. rem布局方案