https://github.com/Python3WebSpider/Python3WebSpider/blob/master/13.2-Scrapy%E5%85%A5%E9%97%A8.md
安装Scrapy 需要先安装 lxml pyOpenSSL Twisted PyWin32
安装好上述模块以后 pip install Scrapy
验证安装及创建一个Scrapy项目 如果提示权限问题 可以加sudo运行该命令
创建spider
执行完毕后 spiders文件夹中多了一个quotes,py的文件
name: 每个项目唯一的名字 用来区分spider
allowed_domains : 允许爬取的域名 如果初始或者后续请求链接不是这个域名下的请求会被过滤掉
start_urls : 包含了spider在启动时爬取的url列表 初始请求由它来定义
parse() : start_urls中的链接请求完成下载执行后 的结果会作为唯一的参数传递给这个方法 该方法负责解析返回的响应 提取数据 或进一步生成要处理的请求
创建Item
item保存爬取数据的容器
需要继承 scrapy.item 类 定义类型为Field的字段
修改刚刚创建的项目中的 item.py 文件 定义三个字段
# Define here the models for your scraped items
#
# See documentation in:
# https://docs.scrapy.org/en/latest/topics/items.html
import scrapy
class QuoteItem(scrapy.Item):
#define the fields for your item here like:
# name = scrapy.Field()
text = scrapy.Field()
author = scrapy.Field()
tags = scrapy.Field()
解析Response
修改 spider.py中的parse()函数 并使用 Item
import scrapy
class QuotesSpider(scrapy.Spider):
name = 'quotes'
allowed_domains = ['quotes.toscrape.com']
start_urls = ['http://quotes.toscrape.com/']
def parse(self, response):
quotes = response.css('.quote')
for quote in quotes:
item = QuoteItem()
item['text'] = quote.css(