前言

在第一篇文章写完之后,由于网站备案,所以没有写Scrapy框架的知识,后面的二三四都是在其他PT发了之后转回来的文章,下面来继续谈谈Scrapy框架。Scrapy框架很强大,在学WEB安全方面的话,也是挺有用的,例如写一个批量POC脚本,爬取些网站的信息,都可以用爬虫上面的知识去解决,而Scrapy,正是爬虫上面一个比较强大的框架。

框架概览

下面是一张Scrapy框架的架构图,从Spiders开始,Item Pipeline结束

爬取流程

上图的爬取流程为

  1. Spiders把Url发给Scheduler(调度器)

  2. 调度器发送Requests给DownLoader

  3. 返回Response(也就是爬取网页的HTML)给Spiders

  4. 从HTML中提取我们需要的数据(Item内)

  5. 传送给Item Pipeline(数据处理器)

目录结构简析

当我们开始一个建立一个Scrapy项目的时候,例如Scrapy startproject FirstProject(建立第一个Scrapy爬虫目录,FirstProject为文件名)

1
2
3
4
5
6
7
8
FirstProject/
__init__.py
items.py
pipelines.py
settings.py
spiders/
__init__.py
spider.py
  • 下面说一下每一个py文件的作用。我们爬取一个网站的过程是:访问URL -> 下载访问地址-> 提取数据-> 处理数据

  • items.py:建立一个存放我们想提取的数据的类

  • spiders/spider.py:下载URL,并且提取数据放入刚才建立的存放数据的类

  • pipelines:处理数据(保存等)

  • settings.py:配置文件(等同于软件的设置)