Scrapy是一个基于Python的开源网络爬虫框架,用于从网页中提取数据。它提供了一套高效、灵活和可扩展的工具,可以帮助开发者快速构建和部署爬虫程序
Scrapy是一个由Python语言开发的适用爬取网站数据、提取结构性数据的Web应用程序框架。主要用于数据挖掘、信息处理、数据存储和自动化测试等。通过Scrapy框架实现一个爬虫,只需要少量的代码,就能够快速的网络抓取
Scrapy基于Twisted,Twisted是一个异步网络框架,主要用于提高爬虫的下载速度。Scrapy使用Twisted异步网络库来处理网络通讯,架构清晰,并且包含了各种中间件接口,可以灵活的完成各种需求。Scrapy使用的是非堵塞的异步处理
Scrapy框架具有以下特点:
高性能:Scrapy 采用异步的网络请求和处理机制,能够高效地处理大规模的网页抓取任务
可配置性:Scrapy提供了丰富的配置选项,可以通过配置文件或代码灵活地设置爬虫的行为,包括请求头、请求间隔、并发数等
XPath和CSS选择器:Scrapy内置了强大的选择器,支持使用XPath和CSS选择器来定位和提取网页中的数据
中间件和扩展:Scrapy提供了中间件和扩展机制,开发者可以通过编写中间件和扩展来自定义和扩展框架的功能,例如自定义请求处理、数据处理、错误处理等
分布式支持:Scrapy可以与分布式任务队列(如Celery)结合使用,实现分布式爬取和数据处理
数据存储:Scrapy支持将爬取到的数据存储到各种数据存储系统,包括文件、数据库(如MySQL、PostgreSQL)和NoSQL数据库(如MongoDB)等
日志和调试:Scrapy提供了强大的日志和调试功能,可以帮助开发者进行爬虫的调试和错误排查
Scrapy框架5大组件(架构):
其他组件:
Scrapy的爬取流程为:
Scrapy官网:https://docs.scrapy.org
入门文档:https://doc.scrapy.org/en/latest/intro/tutorial.html
Scrapy中文文档:https://www.osgeo.cn/scrapy/
1) CMD命令行安装Scrapy:
pip install scrapy
安装完成后输入scrapy命令验证:
scrapy
2) 在存放爬虫项目的目录下创建爬虫项目:
scrapy startproject ScrapyDemo
CMD切换操作:
F: # 切盘
cd A/B/... # 切换目录
该命令会在当前目录下生成Scrapy项目:
3) 使用PyCharm打开创建的项目,初始项目结构如下:
1) 新建爬虫项目目录
方式1:使用PyCharm打开本地存放爬虫项目的文件夹(删除main.py
)
方式2:在已有项目中新建存放爬虫项目的目录
2) 打开Terminal终端,安装Scrapy:
pip install scrapy
3) 在Terminal终端创建爬虫项目(方式2需要cd到该目录下):
scrapy startproject ScrapyDemo
该命令会在当前目录下生成Scrapy项目,项目初始结构与CMD模式下相同
无论使用哪种方式搭建,最重要的是爬虫,因此,爬虫文件不可或缺
4) 在spiders文件夹下创建核心爬虫文件(可自定义):