当前位置:   article > 正文

Scrapy爬虫框架_pycharm怎么安装scrapy

pycharm怎么安装scrapy



1、Scrapy概述

1.1、Scrapy简介

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提供了强大的日志和调试功能,可以帮助开发者进行爬虫的调试和错误排查

1.2、Scrapy架构原理

Scrapy框架5大组件(架构):

在这里插入图片描述

  • Scrapy引擎(Scrapy Engine):Scrapy引擎是整个框架的核心,负责Spider、ItemPipeline、Downloader、Scheduler间的通讯、数据传递等
  • 调度器(Scheduler):网页URL的优先队列,主要负责处理引擎发送的请求,并按一定方式排列调度,当引擎需要时,交还给引擎
  • 下载器(Downloader):负责下载引擎发送的所有Requests请求资源,并将其获取到的Responses交还给引擎,由引擎交给Spider来处理
  • 爬虫(Spider):用户定制的爬虫,用于从特定网页中提取信息(实体Item),负责处理所有Responses,从中提取数据,并将需要跟进的URL提交给引擎,再次进入调度器
  • 实体管道(Item Pipeline):用于处理Spider中获取的实体,并进行后期处理(详细分析、过滤、持久化存储等)

其他组件:

  • 下载中间件(Downloader Middlewares):一个可以自定义扩展下载功能的组件
  • Spider中间件(Spider Middlewares):一个可以自定扩展和操作引擎和Spider间通信的组件

Scrapy的爬取流程为:

  • 引擎从调度器中取出一个链接(URL)用于接下来的抓取
  • 引擎把URL封装成一个请求(Request)传给下载器
  • 下载器把资源下载下来,并封装成应答包(Response)
  • 爬虫解析Response
  • 解析出的实体(Item),交给实体管道进行进一步的处理
  • 解析出的链接(URL),交给调度器等待抓取

Scrapy官网:https://docs.scrapy.org

入门文档:https://doc.scrapy.org/en/latest/intro/tutorial.html

Scrapy中文文档:https://www.osgeo.cn/scrapy/

2、Scrapy环境搭建

2.1、CMD搭建Scrapy环境

1) CMD命令行安装Scrapy:

pip install scrapy
  • 1

在这里插入图片描述

安装完成后输入scrapy命令验证:

scrapy
  • 1

在这里插入图片描述

2) 在存放爬虫项目的目录下创建爬虫项目:

scrapy startproject ScrapyDemo
  • 1

CMD切换操作:

F:            # 切盘
cd A/B/...    # 切换目录
  • 1
  • 2

在这里插入图片描述

该命令会在当前目录下生成Scrapy项目:

在这里插入图片描述

3) 使用PyCharm打开创建的项目,初始项目结构如下:

在这里插入图片描述

2.2、PyCharm搭建Scrapy环境

1) 新建爬虫项目目录

方式1:使用PyCharm打开本地存放爬虫项目的文件夹(删除main.py

方式2:在已有项目中新建存放爬虫项目的目录

2) 打开Terminal终端,安装Scrapy:

pip install scrapy
  • 1

在这里插入图片描述

3) 在Terminal终端创建爬虫项目(方式2需要cd到该目录下):

scrapy startproject ScrapyDemo
  • 1

在这里插入图片描述

该命令会在当前目录下生成Scrapy项目,项目初始结构与CMD模式下相同

2.3、Scrapy项目结构

无论使用哪种方式搭建,最重要的是爬虫,因此,爬虫文件不可或缺

4) 在spiders文件夹下创建核心爬虫文件(可自定义):SpiderDemo.py

最终项目结构及说明如下:

ScrapyDemo/                              爬虫项目名
    ├── ScrapyDemo/                      爬虫项目目录    
    │      ├── spiders/                  爬虫文件
    │      │      ├── __init__.py   
    │      │      └── SpiderDemo.py      自定义核心功能文件
    │      ├── __init__.py   
    │      ├── items.py                  爬虫目标数据
    │      ├── middlewares.py            中间件、代理  
    │      ├── pipelines.py              管道,用于处理爬取的数据    
    │      └── settings.py               爬虫配置
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/819415
推荐阅读
相关标签
  

闽ICP备14008679号