Scrapy 专业爬虫框架


20191203A01.png

Scarpy框架:5+2结构

requests与Scrapy的比较

相同点:

  1. 两者都可以进行页面的请求和爬取,Python爬虫的两个重要技术路线
  2. 两者可用性都好,文档丰富,入门简单
  3. 两者都没有处理js、提交表单、对应验证码等功能(可扩展)

不同点:

requests Scrapy
页面级爬虫 网站级爬虫
功能库 框架
并发性考虑不足,性能较差 并发性好,性能较高【性能过高也不好,会骚扰服务器性能】
重点在于页面下载 重点在于爬虫结构
定制灵活 一般定制灵活,深度定制困难
上手十分简单 入门较难

如何选择

非常小的需求,使用requests库

不太小的需求,Scrapy框架

定制程度很高的需求(不考虑规模):自搭框架,requests > Scrapy

1
2
Scrapy命令行格式
scrapy <command> [options] [args] # command为Scrapy命令
Scrapy常用命令 说明 格式
startproject 创建一个新工程 scrapy startproject [dir]
genspider 创建一个爬虫 scrapy genspider [options]
settings 获得爬虫配置信息 scrapy settings [options]
crawl 运行一个爬虫 scrapy crawl
list 列出工程中所有爬虫 scrapy list
shell 启动URL调式命令行 scrapy shell [url]