scrapy框架爬取网站的步骤

首先说一下scrapy框架的架构

  • Scrapy Engine(引擎): 负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等。
  • Scheduler(调度器): 它负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列,入队,当引擎需要时,交还给引擎。
  • Downloader(下载器):负责下载Scrapy Engine(引擎)发送的所有Requests请求,并将其获取到的Responses交还给Scrapy Engine(引擎),由引擎交给Spider来处理,
  • Spider(爬虫):它负责处理所有Responses,从中分析提取数据,获取Item字段需要的数据,并将需要跟进的URL提交给引擎,再次进入Scheduler(调度器),
  • Item Pipeline(管道):它负责处理Spider中获取到的Item,并进行进行后期处理(详细分析、过滤、存储等)的地方.
  • Downloader Middlewares(下载中间件):你可以当作是一个可以自定义扩展下载功能的组件。
  • Spider Middlewares(Spider中间件):你可以理解为是一个可以自定扩展和操作引擎和Spider中间通信的功能组件(比如进入Spider的Responses;和从Spider出去的Requests

首先要先创建一个爬虫项目

scrapy startproject 爬虫项目名称

scrapy框架爬取网站的步骤_第1张图片
2018-12-03 19-24-25屏幕截图.png

将创建的scrapy项目用pycharm打开,如下图:


scrapy框架爬取网站的步骤_第2张图片
2018-12-03 19-26-50屏幕截图.png

pycharm左下角打开 Terminal,创建爬虫文件:scrapy genspider 爬虫文件名称 域名

创建成功后,出现爬虫文件

接下来就在爬虫文件中写爬虫代码

  • items.py :自己预计爬取的内容
  • middlewares.py :自定义中间件的文件
  • pipelines.py :管道,保存数据
  • settings :设置文件
  • spider :自己定义的文件夹
  • scrapy.cfg :项目的配置文件

爬虫文件里填写你爬取开始的页面url:


2018-12-03 19-45-49屏幕截图.png

请求导航条上的每个按钮对应的页面
分别解析每个页面的列表
请求详情url,解析详细信息


scrapy框架爬取网站的步骤_第3张图片
2018-12-03 19-48-25屏幕截图.png

设置item /与存储有关


scrapy框架爬取网站的步骤_第4张图片
2018-12-03 19-51-13屏幕截图.png

然后配置settings ,将需要的代码解注释

scrapy框架爬取网站的步骤_第5张图片
2018-12-03 19-53-14屏幕截图.png

在 settings.py 文件中找到 ROBOTSTXT_OBEY , 把其值设为 False。让我们的爬虫不去读取网站的 ROBOTS 协议。

2018-12-03 19-58-46屏幕截图.png

最后,在Terminal中输入运行命令: scrapy+crawl+爬虫名称

你可能感兴趣的:(scrapy框架爬取网站的步骤)