1、框架概述
- 异步的爬虫框架。
- 高性能的数据解析,持久化存储,全栈数据的爬取,中间件,分布式
- 框架:就是一个集成好了各种功能且具有很强通用性的一个项目模板。
2、环境的安装
Linux:
pip3 install scrapy
Windows:
a. pip3 install wheel
b. 下载twisted http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted
c. 进入下载目录,执行 pip3 install Twisted‑17.1.0‑cp35‑cp35m‑win_amd64.whl
d. pip3 install pywin32
e. pip3 install scrapy
3、基本使用
- 1.新建一个工程:scrapy startporject proName
- settings.py:当前工程的配置文件
- spiders:爬虫包,必须要存放一个或者多个爬虫文件(.py)
- 2.cd proName
- 3.scrapy genspider spiderName www.xxx.com
- 4.执行工程:scrapy crawl spiderName
- settings.py:
- 不遵从robots协议
- UA伪装
- 指定日志输出的类型:LOG_LEVEL = 'ERROR'
4、数据解析
- 1.response.xpath('xpath表达式')
- 2.scrapy中的xpath解析,在进行数据提取的时候,xpath方法返回的列表中存储的不再是字符串,
而是存储的Selector对象,相关的字符串数据是存储在Selector对象的data参数中,我们必须使用
extract()/extract_first()进行字符串数据的提取
- extract():可以作用到列表中的每一个列表元素中,返回的依然是一个列表
- extract_first():只可以作用到列表中的第一个列表元素中,返回的是字符串
5、持久化存储
- 基于终端指令的持久化存储
- 只可以将parse方法的返回值存储到指定后缀的文本文件中。
- scrapy crawl spiderName -o ./duanzi.csv
- 基于管道的持久化存储
待补充