1.scrapy架构流程:
scrapy主要包括了以下组件:
1.)引擎(scrapy):用来处理整个系统的数据流,触发事务(框架核心)
2.)调度器(Scheduler):用来接受引擎发过来的请求,压入队列中,并在引擎再次请求的时候返回,可以想象成一个url(抓取网页的网址或者说链接)的优先队列,由它来决定下一个要抓取的网址是什么,同时去除重复的网址。
3.)下载器(Downloader):用于下载网页的内容,并将网页内容返回给蜘蛛(Scrapy下载器是建立在twisted这个高效的异步模型上的)
4.)爬虫(Spiders):爬虫是主要干活的,用于从特定的网页中提取自己想要的信息,即所谓的实体(item)。用户也可以从中提取到链接,让Scrapy继续抓取下一个页面。
5.)项目管道(Pipeline):负责处理爬虫从网页中抽取的实体,主要的功能是持久化实体、清除不需要的信息。当页面被爬虫解析后,将被发送到项目管道,并经过几个特定的次序处理数据。
(只有当调度器中不存在任何request时,整个程序才会停止。(对于下载失败的url,Scrapy也会重新下载))
前置要求:
pip下载scrapy模块
yum下载tree包
爬取的步骤
-确定url地址;
-获取页面信息;(urllib,requests)
-解析页面提取需要的信息;(xpath,bs4,正则表达时)
-保存到本地(scv,json,pymysql,redis)
-清洗数据(删除不必要的内容------正则表达式)
-分析数据(词云wordcloud,jieba)
流程分析
-确定url地址(spider)
-获取页面信息(Downloader)
-解析页面提取需要的信息(spider)
-保存到本地(pipeline)
环境
scrapy1.6.0
实现步骤
1.工程创建
1.)命令行在当前目录下创建mySpider
scrapy startproject mySpider
2.)创建成功后,进入mySpider ,tree查看
cd mySpider
tree