目标
1、使用redis+flask维护动态代理池
2、使用redis+flask维护动态cookies池
3、使用scrapy框架,存储的数据存放到mongodb
4、使用scrapy-redis框架【暂不实现】:分布式的scrapy框架,提升效率
准备阶段
1、建立项目目录,生成虚拟环境,在虚拟机环境中安装依赖库

【注】虚拟机环境的问题参考https://www.jianshu.com/p/d366f3fb32f0
2、使用scrapy命令生成爬虫基本框架
查看常用命令

步骤1:创建一个爬虫项目project

运行结果

步骤2:生成一个spider,可以按照步骤1的提示操作【scrapy genspider toutiao toutiao.com】

【注】产生一个spider,即生成了一个蜘蛛用来爬取头条

步骤3:运行spider,使用命令crawl

步骤4:项目正式开始之前我们来介绍一下项目目录
toutiao.py脚本很明显就是产生的蜘蛛spider,它是用来爬取核心脚本。那么是spider的名字,用来唯一标识爬取数据的蜘蛛;allowed_domains指的是允许爬取的域名,URL定义了爬取的目的URL。parse函数用来解析爬取的结果,最后要将解析到的数据存储到items.py
items.py脚本定义了爬取的数据,如何理解呢。首先解析的数据会自动存储到该脚本中。最后数据处理、存储到数据库、或者展示等也需要从该模块中获取数据
settings.py脚本定义了爬虫常用的配置项,常用的有DEFAULT_REQUEST_HEADERS用来设置爬虫时候的headers信息,SPIDER_MIDDLEWARES用来定义中间件和中间件的优先级
middlewares.py脚本定义中间件,可以用来处理请求request、响应response,以及出现的异常。分别脚本中的3个方法process_request、process_response、process_exception。实际使用中我们需要复写这3个方法。用来写我们业务逻辑。完成之后再配置文件进行配置将我们定义的中间件名字写到配置文件中并设置优先级

pipelines.py脚本即管道脚本,主要作用是items.py脚本中的数据进行存储等,通过管道将数据写入到数据库、文件等


网友评论