一份详实的 Scrapy 爬虫教程,从原理到实战

本文详细介绍了Scrapy爬虫框架,包括其简介、运行原理、安装使用、基本步骤、目录文件说明、Scrapy Shell的使用,以及通过案例实战展示了如何爬取站酷数据,包括数据提取、翻页和存储。通过对Scrapy的学习,有助于提升Web抓取和数据处理能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Scrapy框架简介

Scrapy是:由Python语言开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据,只需要实现少量的代码,就能够快速的抓取。

二、运行原理

Scrapy框架的运行原理看下面一张图就够了(事实上原理是比较复杂的,也不是三言两语能够说清楚的,因此感兴趣的读者可以进一步阅读更多的相关文章来了解,本文不做过多讲解

Scrapy主要包括了以下组件:

  • 引擎(Scrapy Engine)

  • Item 项目

  • 调度器(Scheduler)

  • 下载器(Downloader)

  • 爬虫(Spiders)

  • 项目管道(Pipeline)

  • 下载器中间件(Downloader Middlewares)

  • 爬虫中间件(Spider Middlewares)

  • 调度中间件(Scheduler Middewares)

三. 入门

3.1安装

第一种:在命令行模式下使用pip命令即可安装:

$ pip install scrapy

第二种:首先下载,然后再安装:

$ pip download scrapy -d ./
# 通过指定国内镜像源下载 
$pip download  -i https://pypi.tuna.tsinghua.edu.cn/simple scrapy -d ./

进入下载目录后执行下面命令安装:

$ pip install Scrapy-1.5.0-py2.py3-none-any.whl

3.2使用

使用大概分为下面四步 1 创建一个scrapy项目

scrapy startproject mySpider

2 生成一个爬虫

scrapy genspider demo "demo.cn"

3 提取数据

完善spider 使用xpath等

4 保存数据

pipeline中保存数据

3.3 程序运行

在命令中运行爬虫

scrapy crawl qb     # qb爬虫的名字

在pycharm中运行爬虫

from scrapy import cmdline
cmdline.execute("scrapy crawl qb".split())

四、基本步骤

Scrapy 爬虫框架的具体使用步骤如下:

  1. 选择目标网站

  2. 定义要抓取的数据(通过Scrapy Items来完成的)

  3. 编写提取数据的spider

  4. 执行spider,获取数据

  5. 数据存储

五. 目录文件说明

当我们创建了一个scrapy项目后,继续创建了一个spider,目录结构是这样的:

下面来简单介绍一下各个主要文件的作用:

scrapy.cfg :项目的配置文件

mySpider/ :项目的Python模块,将会从这里引用代码

mySpider/items.py :项目的目标文件

mySpider/pipelines.py :项目的管道文件

mySpider/settings.py :项目的设置文件

mySpider/spiders/ :存储爬虫代码目录

5.1 scrapy.cfg文件

项目配置文件。这个是文件的内容:

# Automatically created by: scrapy startproject
#
# For more information about the [deploy] section see:
# https://scrapyd.readthedocs.io/en/latest/deploy.html

[settings]
default = mySpider.settings

[deploy]
#url = http://localhost:6800/
project = mySpider

5.2 mySpider**/**

项目的Python模块,将

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值