【Scrapy】初步认识爬虫

1、简介
Scrapy是一套基于Twisted的异步处理应用程序框架,用于抓取网站和提取结构化数据,这些数据可用于广泛的应用程序,如数据挖掘、信息处理或历史存档。
2、制作scrapy爬虫一共需要4步
1)新建项目: scrapy startproject xxx
2) 明确目标: items.py, 明确需要抓取的目标
3)制作爬虫: spiders/xxxspider.py,制作爬虫开始爬取网页
4)存储内容: pipelines.py, 设计管道存储爬取内容。

3、创建scrapy项目
scrapy startproject xxxxxx
4、观察项目目录结构

scrapy.cfg: 爬虫配置文件

scrapy_test/spiders/__init__.py: 导包文件。之后爬虫的主要文件都在scrapy_test/spiders目录下。
scrapy_test/__init__.py: 导包文件
scrapy_test/items.py

scrapy_test/middlewares.py: 中间件
scrapy_test/pipelines.py: 管道文件,用来处理item数据。比如将item写入到文件或数据库中。
scrapy_test/settings.py: 爬虫配置文件,爬虫会根据该文件里的配置遵守一些约定去爬取。如下图所示:当发起请求后,请求会经过中间件ScrapyTestDownloaderMiddleware,后面的543是优先级,数字越小,优先级越高,取值范围:0-1000。当有多个中间件时,就会根据优先级去执行各个插件。

5、生成一个爬虫脚本
可以生成一个爬虫脚本,也可以自己创建一个爬虫脚本,重要的是爬虫脚本内容。
命令生成:
在spiders目录下执行:
scrapy genspider test1 "http://www.baidu.com"
表示生成爬虫test1,爬取的范围是http://www.baidu.com。

生成的爬虫的内容:

内容解释:
name = 'test1': 该爬虫的名称为test1。
allowed_domains = ['www.baidu.om']: 允许你爬取的域名范围。
start_urls = ['http://www.baidu.com']: 爬虫开启请求的第一个url地址。
parse(): 当下载器处理完请求之后,都会经过这个parse()函数。
爬虫名称可以随意修改,爬虫脚本名称可以随意修改,之后运行爬虫的时候,指定准确爬虫名即可。
6、运行爬虫
运行爬虫
scrapy crawl test1

检查爬虫test1的状态
scrapy check test1

其他命令可以参考:

参考文档:
Scrapy 教程 — Scrapy 2.5.0 文档 (osgeo.cn)