使用cmd创建一个scrapy项目:
scrapy startproject project_name (project_name 必须以字母开头,只能包含字母、数字以及下划线<underscorce>)
项目目录层级如下:

声明Item
声明我们可能用到的所有字段,包括管理字段等。管理字段可以让我们清楚何时(date)、何地(url server)及如何(spider)执行爬去,此外,还可以自动完成诸如使item失效、规划新的抓取迭代或是删除来自有问题的爬虫的item。
url
response.url
例:‘http://www.baidu.com’
project
self.ettings.get('BOT_NAME')
例:‘crawl_novel’
spider
self.name
例:‘basic’
server
socket.gethostname()
例:‘scrapyserverl’
date
datetime.datetime.now()
例:‘datetime.datetime(2019,1,21……)’
编写爬虫并填充item
使用scrapy genspider 命令
scrapy genspider -l 查看可用模板
scrapy genspider -t 使用任意其他模板创建爬虫
e.g. scrapy genspider basic www spiders目录中新增一个basic.py文件,并限制只能爬取www域名下的url
使用 scrapy crawl 命令运行爬虫文件
e.g. scrapy crawl basic (basic是spider下的爬虫文件)
使用 scrapy parse命令用不同页面调试代码
e.g. scrapy parse --spider=basic http://www.……
使用scrapy crawl basic -o +文件名.文件类型 保存文件
e.g. scrapy crawl basic -o items.json(items.csv、items.j1、items.xml)
basic.py
清理——item装载器、添加管理字段,并对数据进行格式化和清洗
使用ItemLoader以代替那些杂乱的extract()和xpath()操作
使用MapCompose参数
使用lambda表达式
创建contract,检验代码可用性
使用scrapy check + 文件名 执行
e.g. scrapy check basic