Scrapy 专业爬虫框架
Scarpy框架:5+2结构
requests与Scrapy的比较
相同点:
- 两者都可以进行页面的请求和爬取,Python爬虫的两个重要技术路线
- 两者可用性都好,文档丰富,入门简单
- 两者都没有处理js、提交表单、对应验证码等功能(可扩展)
不同点:
requests | Scrapy |
---|---|
页面级爬虫 | 网站级爬虫 |
功能库 | 框架 |
并发性考虑不足,性能较差 | 并发性好,性能较高【性能过高也不好,会骚扰服务器性能】 |
重点在于页面下载 | 重点在于爬虫结构 |
定制灵活 | 一般定制灵活,深度定制困难 |
上手十分简单 | 入门较难 |
如何选择
非常小的需求,使用requests库
不太小的需求,Scrapy框架
定制程度很高的需求(不考虑规模):自搭框架,requests > Scrapy
1 | Scrapy命令行格式 |
Scrapy常用命令 | 说明 | 格式 |
---|---|---|
startproject | 创建一个新工程 | scrapy startproject |
genspider | 创建一个爬虫 | scrapy genspider [options] |
settings | 获得爬虫配置信息 | scrapy settings [options] |
crawl | 运行一个爬虫 | scrapy crawl |
list | 列出工程中所有爬虫 | scrapy list |
shell | 启动URL调式命令行 | scrapy shell [url] |