5.基本概念介绍-scrapy的重要组件
2016-05-29 13:48
218 查看
Spider
基本介绍:概念:是一个类,它定义了怎样爬取网站,包括怎样跟踪链接、怎样提取数据;
循环执行流程:
1. 通过初始的url产生request
2. 解析response
3. 使用selector
4. 存储到Item
基类(scrapy.Spider)介绍:
属性:
name:spider的名称,要求唯一;
allowed_domains:允许的域名;
start_urls:初始urls;
custom_settings:个性化设置,会覆盖全局的设置;
crawler:抓取器,spider将绑定到它上面;
setting:配置实例,包含工程中所有的配置变量;
logger:日志实例
方法:
from_crawler(crawler, *args,**kwargs): 类方法,用于创建spiders;
start_requests():生成初始的requests;
make_request_from_url(url):根据url生成一个request;
parse(response):用来解析网页内容;
log(message[, level,component]):用来记录日志,这里请使用logger属性记录日志(该方法是为了兼容旧版本的日志模块);
eg:self.logger.info(“visted success”);
closed(reason):当spider关闭的时候调用的方法;
子类介绍:
CrawlSpider:
最常用的spider,用于抓取普通的网页;
增加两个成员;
1)rules:定义一些抓取规则–连接怎么跟踪、使用哪一个parse函数解析此链接;
2)parse_start_url(response):解析初始化url的相应的parse;
3)实例,文档36页;
XMLFeedSpider:解析XML文件
CSVFeedSpider:解析CSV文件
SitemapSpider:解析sitemap类型的页面
Selector
概念:网页内容抽取器(抽取网页内容有很多方法,比如beautifulsoup、lxml,但是scrapy里面默认使用的是selector,相对来说也是最好用的。)实例化:(文档41页)
1.用text
>>> from scrapy.selector import Selector >>> from scrapy.http import HtmlResponse >>> body = '<html><body><span>good</span></body></html>' >>>Selector(text=body).xpath('//span/text()').extract() [u'good']
2.用response
>>> response = HtmlResponse(url='http://example.com', body=body) >>>Selector(response=response).xpath('//span/text()').extract() [u'good']
常用抽取方法
xpath
css
re
extract
Item
Item Pipeline
Feed Export(数据存储方式)
相关文章推荐
- DOM事件学习笔记
- 微信开发之消息接收与回复--weixin-java-tools
- 如何修改WAMP中mysql默认空密码
- Flash的按钮链接在网页的中的使用
- BZOJ3779 重组病毒
- 关于View中setTag和getTag的注意点
- Ubuntu中、英文环境设置
- Ubuntu中、英文环境设置
- log4j配置webapp日志系统
- 监听器
- hiho_100_八数码
- struts.custom.i18n.resources 如何配置多个资源文件?
- 递归关于内存的深入理解
- Hibernate HQL语句总结
- axis : java.lang.NoSuchMethodError
- Mysql免安装版注意事项
- 文本处理,将交互组数据转化成邻接矩阵
- 多栈共享技术,双端栈的初始化、进栈、出栈操作
- 链队列的初始化、入队、出队等操作实现
- 循环队列的初始化、入队、出队等基本操作