爬虫——Scrapy框架 (初步学习+简单案例)

这篇具有很好参考价值的文章主要介绍了爬虫——Scrapy框架 (初步学习+简单案例)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.scrapy基本用途:

2.结构:

3.scrapy文件结构(示例:game)

4.scrapy安装

二、 简单实例

1.创建项目(打开命令窗口)

2.打开项目 


一、Scrapy框架

1.scrapy基本用途:

Scrapy是一个快速、高效率的网络爬虫框架,用于抓取web站点并从页面中提取结构化的数据。 Scrapy被广泛用于数据挖掘、监测和自动化测试。

2.结构:

1. Engine(引擎):用来处理整个系统的数据流和时间,是整个框架的核心,可以理解为中央处理器,负责数据的流转和逻辑的处理。
2. Scheduler(调度器):接收Engine发过来的request并将其加入队列中,也可发回Engine,供给Downloader执行,主要维护request的调度逻辑
3. Item:是抽象的数据结构。定义了爬取结果的数据结构,爬取的结果会被赋值成Item对象,每个Item都是一个类,类里面定义了爬取结果的数据字段,可以理解为用来规定数据的存储格式。
4. Spiders(爬虫):负责解析Responses并生成Item和新的请求,然后发给Engine进行处理。
5. Downloader(下载器):负责下载Engine发送的所有请求,将获取的Response返回给Engine,再发给Spiders处理。
6. Item Pipelinses(管道):负责Spiders从页面中抽取的Item,做数据清洗、验证、存储等工作
7. Downloader Middlewares(下载中间件):负责Downloader和Engine之间的请求和响应的处理过程。
8. Spider Middlewares(爬虫中间件):负责实现Spiders和Engine之间的Item、请求和响应的处理过程。

3.scrapy文件结构(示例:game)

game        项目名字
    game        项目的名字
        spiders        存储用户创建的spider文件
            init 
            steam        用户创建的文件,定义爬取的url以及对数据的处理
        init
        items        定义爬取的数据结构
        middleware        中间件
        pipelines        管道  用来处理下载的数据
        settings        全局的配置文件

4.scrapy安装

pip install scrapy
# 在命令行或者pycharm的终端中输入都行

安装验证:命令窗口输入 scrapy 即可
 

安装参考:教程

注:如果还是报错,那么可能是缺失 Visual C++ 20xx Redistributable(如何安装,自行百度,版本根据环境需求自行选择);也有可能电脑里安装了一些游戏,顺带安装了这个库,直接一步到位,安装成功了。

二、 简单实例

1.创建项目(打开命令窗口)

scrapy startproject spider# 项目名称,自行命名

# 记住系统提示的地址,待会在pycharm中需要到该地址去打开项目

New Scrapy project 'spider', using template directory 'D:\Python3.11.2\Lib\site-packages\scrapy\templates\project', created in:
    C:\Users\dell\spider

You can start your first spider with:
    cd spider
    scrapy genspider example example.com

cd spider
scrapy genspider quotes quotes.toscrape.com
# quotes是spiders文件下spider文件的名称,自行输入
# quotes.toscrape.com 是即将爬取网页的域名

C:\Users\dell>cd spider

C:\Users\dell\spider>scrapy genspider quotes quotes.toscrape.com
Created spider 'quotes' using template 'basic' in module:
  spider.spiders.quotes

创建成功,打开pycharm

2.打开项目 

可以将项目中的文件结构对照上面的文件结构。

打开spiders下的quotes.py

class QuotesSpider(scrapy.Spider):
    name = "quotes"
    allowed_domains = ["quotes.toscrape.com"]
    start_urls = ["https://quotes.toscrape.com"]

    def parse(self, response, **kwargs):
        quotes = response.xpath('//div[@class="row"]//div[@class="col-md-8"]//div[@class="quote"]')
        for quote in quotes:
            text = quote.xpath('./span[@class="text"]/text()').extract_first()
            author = quote.xpath('./span//small/text()').extract_first()
            tags = quote.xpath('./div[@class="tags"]/a/text()').getall()
            tag = ','.join(tags)  # 将Xpath提取到的列表转换为字符串。
            print("Text:", text, "Author:", author, "Tags:", tag)
            print()    # 作分隔

        next = response.xpath('//nav/[@class="next"]//a/@href').extract_first()
        # 下一页按钮
        url = response.urljoin(next)
        yield scrapy.Request(url=url, callback=self.parse)

for循环中,xpath需要使用相对地址,否则会出现循环输出某一句内容,或者拿不到数据,显示为None。 文章来源地址https://www.toymoban.com/news/detail-656533.html

到了这里,关于爬虫——Scrapy框架 (初步学习+简单案例)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 爬虫(四):Scrapy热门爬虫框架介绍

    结合自身经验和内部资料总结的Python教程,每天3-5章,最短1个月就能全方位的完成Python的学习并进行实战开发,学完了定能成为大佬!加油吧!卷起来! 全部文章请访问专栏:《Python全栈教程(0基础)》 再推荐一下最近热更的:《大厂测试高频面试题详解》 该专栏对近年

    2024年02月11日
    浏览(45)
  • 爬虫框架scrapy基本原理

    scrapy是python的爬虫框架,类似于django(python的web框架)。 安装: Mac、Linux 执行 pip3 install scrapy ,不存在任何问题 Windows 执行 pip3 install scrapy ,如果安装失败,执行下面步骤: (1)安装wheel(为支持通过文件安装软件): pip3 install wheel (wheel官网) (2)安装lxml: pip3 insta

    2024年02月15日
    浏览(51)
  • 《零基础入门学习Python》第063讲:论一只爬虫的自我修养11:Scrapy框架之初窥门径

    上一节课我们好不容易装好了 Scrapy,今天我们就来学习如何用好它,有些同学可能会有些疑惑,既然我们懂得了Python编写爬虫的技巧,那要这个所谓的爬虫框架又有什么用呢?其实啊,你懂得Python写爬虫的代码,好比你懂武功,会打架,但行军打仗你不行,毕竟敌人是千军

    2024年02月16日
    浏览(46)
  • 【python爬虫】14.Scrapy框架讲解

    前两关,我们学习了能提升爬虫速度的进阶知识——协程,并且通过项目实操,将协程运用于抓取薄荷网的食物数据。 可能你在体验开发一个爬虫项目的完整流程时,会有这样的感觉:原来要完成一个完整的爬虫程序需要做这么多琐碎的工作。 比如,要导入不同功能的模块

    2024年02月09日
    浏览(51)
  • 爬虫框架有Scrapy、BeautifulSoup、Selenium

    爬虫框架有Scrapy、BeautifulSoup、Selenium BeautifulSoup比Scrapy相对容易学习。 Scrapy的扩展,支持和社区比BeautifulSoup更大。 Scrapy应被视为蜘蛛,而BeautifulSoup则是Parser。 1.爬虫基础知识 在开始Python爬虫之前,需要先掌握一些基础知识。首先了解一下HTTP协议,掌握常见的请求方法和状

    2024年02月07日
    浏览(44)
  • Scrapy:Python中强大的网络爬虫框架

    在当今信息爆炸的时代,从互联网上获取数据已经成为许多应用程序的核心需求。Scrapy是一款基于Python的强大网络爬虫框架,它提供了一种灵活且高效的方式来提取、处理和存储互联网上的数据。本文将介绍Scrapy的主要特性和优势,以及如何使用它来构建强大的网络爬虫。

    2024年02月19日
    浏览(65)
  • python爬虫之Scrapy框架--保存图片(详解)

    目录 Scrapy 使用ImagePipeline 保存图片 使用图片管道  具体步骤 安装相关的依赖库 创建Scrapy项目 配置settings.py   定义Item  编写Spider 运行Spider Scrapy 自定义ImagePipeline 自定义图片管道 Scrapy提供了一个 ImagePipeline ,用来下载图片这条管道,图片管道 ImagesPipeline  提供了方便并具有

    2024年02月11日
    浏览(49)
  • 使用Scrapy框架集成Selenium实现高效爬虫

    在网络爬虫的开发中,有时候我们需要处理一些JavaScript动态生成的内容或进行一些复杂的操作,这时候传统的基于请求和响应的爬虫框架就显得力不从心了。为了解决这个问题,我们可以使用Scrapy框架集成Selenium来实现高效的爬虫。 Scrapy是一个使用Python编写的开源网络爬虫框

    2024年02月09日
    浏览(46)
  • [爬虫]3.4.1 Scrapy框架的基本使用

    Scrapy是一款强大的Python网络爬虫框架,它可以帮助你快速、简洁地编写爬虫程序,处理数据抓取、处理和存储等复杂问题。 在开始使用Scrapy之前,你需要先将其安装在你的系统中。你可以使用Python的包管理器pip来安装Scrapy: Scrapy使用一个明确的项目结构来管理爬虫。你可以

    2024年02月16日
    浏览(41)
  • Python爬虫之Scrapy框架系列(23)——分布式爬虫scrapy_redis浅实战【XXTop250部分爬取】

    先用单独一个项目来使用scrapy_redis,讲解一些重要点!

    2024年02月16日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包