安装:pip install scrapy
基本使用 
1. 创建项目:scrapy startproject 项目名
cd 项目名
2. 生成爬虫
1. 创建spider爬虫:scrapy genspider 爬虫名 允许的域名
1. 爬虫类需要继承scrapy.Spider
2. 爬虫的名字: name
3. 允许的域名: allowed_domains
4. 起始的url: start_urls
5. 解析函数:

2. 创建crawlspider爬虫:scrapy genspider -t crawl 爬虫名称 允许的域名
完善提取URL的规则:
rules是一个元组或者是列表 --> Rule对象
rules = (Rule(LinkExtractor(allow=r'Items/'), callback='parse_item', follow=True),)
Rule表示规则
LinkExtractor[必选]:连接提取器,可以通过正则或者是xpath来提取URL
allow: 用于指定一个正则表达, 只有与该正则匹配的链接才被提取出来
restrict_xpaths: 用于指定一个XPATH, 只有该XPATH指定的区域中链接才被提取出来
callback[可选]: 表示经过连接提取器提取出来的url对应响应的解析函数,可以没有,表示该响应不需要解析函数来处理
follow[可选]:连接提取器提取的url地址对应的响应是否还会继续被rules中的规则进行提取,True表示会,False表示不会
3. 完善爬虫
1. response.xpath('xpath语法') --> 返回selector对象
2. extract() --> 返回提取到的字符串列表 --> 无数据[]
3. extract_first() --> 返回提取到的第一个字符串 --> 无数据None
注意: yield后不可以接列表
   4. 保存数据
     完善Pipeline类
在settings.py中开启管道
运行项目:scrapy crawl 爬虫名



CrawlSpider 与 Spider如何选择:
自定义爬虫, 是继承CrawlSpider 还是 Spider呢?
1. 一般当一类页面中可以获取所有数据的时候, 使用CrawlSpider
2. 需要从多类页面中提取数据, 进行组合, 使用Spider
01-05 17:29