Scrapy: 一个强大的 Python 爬虫框架--介绍--下载--启动!!

目录

Scrapy

影响力

介绍

        主要特点

 架构

 运行流程

基本使用

安装

 创建 Scrapy 项目

创建爬虫 

爬虫包含的内容

 运行爬虫


Scrapy

影响力

作为目前爬虫主流框架之一,Scrapy的影响力和应用范围非常广泛:

  • 根据GitHub上的数据,Scrapy是一个非常受欢迎的开源项目,截至2022年12月15日,它有超过4.3万个星标,9.6千个分支和1.8千个观察者1。在Python的爬虫框架中,Scrapy无疑是最受关注和使用的一个。
  • 根据百度指数的数据,Scrapy在中国的搜索量在过去一年中保持了相对稳定的水平,平均每天有约1.5万次搜索2。这说明Scrapy在中国有着一定的知名度和需求度。
  • 根据CSDN、知乎、PythonTab等技术社区和博客平台的数据,Scrapy在中国有着丰富的教程、案例、问答和交流资源,可以帮助开发者学习和解决问题3456。这说明Scrapy在中国有着一定的用户基础和活跃度。
  • 根据行业报告和新闻报道的数据,Scrapy在中国被广泛应用于数据分析、网络安全、电商平台、金融服务等领域,为各种业务场景提供了高效、灵活、可扩展的数据抓取和处理方案 。这说明Scrapy在中国有着一定的市场价值和竞争力。

注:该段内容为Bing AI创作

介绍

 Scrapy 是一个基于 Twisted 框架用于抓取网站和提取结构化数据的开源网络爬虫框架,可用于各种有用的应用程序,如数据挖掘、信息处理或历史存档,它的设计目标是快速、高效、可扩展和可定制。Scrapy 提供了一个整合了请求、处理和存储流程的机制,使得开发者可以专注于数据提取和处理的逻辑,而无需过多关注底层细节。

主要特点

  1. 高性能:Scrapy 使用异步处理和多线程机制,能够高效地处理大规模的数据抓取任务。

  2. 可定制性:Scrapy 提供了丰富的扩展接口,允许开发者根据自己的需求进行定制和扩展。

  3. 分布式支持:Scrapy 支持分布式爬取,可以利用多台机器并行抓取数据,提高效率。

  4. 调度器:Scrapy 内置了一个调度器,能够自动管理请求的优先级和并发量,确保爬虫的稳定和高效。

  5. 中间件:Scrapy 提供了丰富的中间件接口,可以对请求和响应进行预处理和后处理,实现代理、用户代理等功能。

  6. 数据处理:Scrapy 提供了方便的机制来处理爬取的数据,可以进行清洗、转换和存储。

 架构

最简单的单个网页爬取流程是 spiders > scheduler > downloader > spiders > item pipeline

省略了engine环节! 

中英文对照表
引擎Engine
调度器Scheduler
下载器Downloader
爬虫Spider
管道Pipeline
中间件Middleware

别问,问就是英语不好。 

Scrapy的架构是一个基于事件驱动的框架,它主要由以下五大组件组成:

  • 引擎(engine)

    • 用来处理整个系统的数据流处理, 触发事务(框架核心)
  • 调度器(Scheduler)

    • 用来接受引擎发过来的请求, 压入队列中, 并在引擎再次请求的时候返回. 可以想像成一个URL(抓取网页的网址或者说是链接)的优先队列, 由它来决定下一个要抓取的网址是什么, 同时去除重复的网址
  • 下载器(Downloader)

    • 用于下载网页内容, 并将网页内容返回给蜘蛛(Scrapy下载器是建立在twisted这个高效的异步模型上的)
  • 爬虫(Spiders)

    • 爬虫是主要干活的, 用于从特定的网页中提取自己需要的信息, 即所谓的实体(Item)。用户也可以从中提取出链接,让Scrapy继续抓取下一个页面
  • 项目管道(Pipeline)

    • 负责处理爬虫从网页中抽取的实体,主要的功能是持久化实体、验证实体的有效性、清除不需要的信息。当页面被爬虫解析后,将被发送到项目管道,并经过几个特定的次序处理数据。

除了这五大组件,Scrapy还有三个中间件管理器类:

  • 下载器中间件(Downloader Middlewares)

    • 位于Scrapy引擎和下载器之间的框架,主要是处理Scrapy引擎与下载器之间的请求及响应
  • 爬虫中间件(Spider Middlewares)

    • 介于Scrapy引擎和爬虫之间的框架,主要工作是处理蜘蛛的响应输入和请求输出
  • 调度中间件(Scheduler Middewares)

    • 介于Scrapy引擎和调度之间的中间件,从Scrapy引擎发送到调度的请求和响应

 运行流程

自己看上面那个图吧。

基本使用

安装

在命令行或者终端中输入:

pip install scrapy

但是这样子有时候会报错,版本不匹配。

解决方案如下:

使用清华的镜像:

Windows:打开cmd,输入 :

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scrapy

Mac:打开终端,输入:

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple scrapy 

 创建 Scrapy 项目

在命令行中执行以下命令,创建一个新的 Scrapy 项目:

scrapy startproject myfrist(project_name)

会生成一个文件夹里面很多文件: 

名称作用
scrapy.cfg项目的配置信息,主要为Scrapy命令行工具提供一个基础的配置信息。(真正爬虫相关的配置信息在settings.py文件中)
items.py设置数据存储模板,用于结构化数据,如:Django的Model
pipelines数据处理行为,如:一般结构化的数据持久化
settings.py配置文件,如:递归的层数、并发数,延迟下载等
spiders爬虫目录,如:创建文件,编写爬虫规则

创建爬虫 

scrapy genspider 爬虫名 爬虫的地址

注意:

一般创建爬虫文件时,以网站域名命名

爬虫包含的内容

  • name: 它定义了蜘蛛的唯一名称
  • allowed_domains: 它包含了蜘蛛抓取的基本URL;
  • start-urls: 蜘蛛开始爬行的URL列表;
  • parse(): 这是提取并解析刮下数据的方法;

代码

import scrapyclass XimalayaSpider(scrapy.Spider):name = "ximalaya"allowed_domains = ["ximalaya.com"]start_urls = ["https://www.ximalaya.com"]def parse(self, response):print(11111111111111111)

 运行爬虫

在命令行中执行以下命令,运行我们的爬虫:

scrapy crawl myspider

Scrapy 将会按照我们定义的规则进行网页抓取和数据提取,并将结果输出到控制台或存储到指定的文件中。

---------------------------------------------------------------------------------------- 

声明: 此文章为原创作品,辅助创作工具为chatGPT-3.5和Bing AI。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/16883.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

chatgpt赋能python:Python爬虫与炒股

Python爬虫与炒股 Python是一种非常流行的编程语言,在各方面都有着广泛的应用。其中之一就是利用Python爬虫技术进行炒股分析。 什么是Python爬虫 简单说,Python爬虫是一种通过编写程序,从互联网上抓取数据的技术。其核心在于模拟浏览器行…

python爬虫爬取今日头条_python 简单爬取今日头条热点新闻(一)

今日头条如今在自媒体领域算是比较强大的存在,今天就带大家利用python爬去今日头条的热点新闻,理论上是可以做到无限爬取的; 在浏览器中打开今日头条的链接,选中左侧的热点,在浏览器开发者模式network下很快能找到一个‘?category=new_hot...’字样的文件,查看该文件发…

基于python的数据爬虫学习与体会

文章目录 一、从Python编程基础中简述爬虫应用都会用到哪些pip模块以及对应的功能。pip install reqeustspip install bs4pip install pandaspip install seleniumpip install sqlalchemypip install pymongopip install gerapy_auto_extractorpip install gerapypip install s…

采用ChatGPT对强化学习A2C源代码添加注释说明

强化学习中的Actor-Critic算法是一种普遍经常用到的经典算法,Actor-Critic 翻译成“演员—评论家”方法。策略网络 π(a|s;θ) 相当于演员,它基于状态 s 做出动作 a。价值网络 q(s,a;w) 相当于评论家,它给演员的表现打分,量化在状…

【哈士奇赠书活动 - 25期】-〖Python自动化办公应用大全(ChatGPT版) 〗

文章目录 ⭐️ 赠书 - 《Python自动化办公应用大全(ChatGPT版)》⭐️ 内容简介⭐️ 作者简介⭐️ 编辑推荐⭐️ 赠书活动 → 获奖名单 ⭐️ 赠书 - 《Python自动化办公应用大全(ChatGPT版)》 ⭐️ 内容简介 本书全面系统地介绍了P…

ChatGPT常用的指令(prompts)系列八-写作、UI设计、招聘、网路安全

系列文章目录 内容翻译自:https://github.com/f/awesome-chatgpt-prompts,并加入自己的实践内容 1、 ChatGPT常用的提示语(prompts)系列一 2、 ChatGPT常用的提示语(prompts)系列二 3、 ChatGPT常用的提示语…

史上AI最高分!谷歌大模型创美国医师执照试题新纪录,科学常识水平媲美人类医生...

杨净 羿阁 发自 凹非寺量子位 | 公众号 QbitAI 史上AI最高分,谷歌新模型刚刚通过美国医师执照试题验证! 而且在科学常识、理解、检索和推理能力等任务中,直接与人类医生水平相匹敌。在一些临床问答表现中,最高超原SOTA模型17%以上…

首位华人女数学家获拉马努金奖!北大数院校友,陶哲轩恽之玮曾得过此奖

白交 发自 凹非寺量子位 | 公众号 QbitAI 又一位北大数院校友——唐云清,斩获拉马努金奖。 此前,00级校友张伟、恽神恽之玮,03级校友、浙大教授刘一峰曾获此奖。 △图源:George BergmanUC伯克利 除此之外,还有像陶哲轩…

chatgpt赋能Python-python_hanoi

Python Hanoi - 轻松解决汉诺塔问题 如果你是一位对算法有一定了解的程序员,那么你一定听说过汉诺塔问题。这个问题是计算机科学中最常见和最有趣的问题之一。这个问题听起来似乎很简单,但实际上很多程序员也会在这个问题上遇到困难。在这篇文章中&…

吴恩达的2022年终盘点:生成式AI、ViT、大模型

Datawhale干货 作者:吴恩达,斯坦福大学,编辑:智源社区 近日,吴恩达在圣诞节的《The Batch》特刊上发布了一年一度的年终盘点。在过去的一年,生成式AI迎来爆发式增长,由人工智能生成的图片在社交…

讯飞星火认知大模型 VS CHATGPT3.5

2023年5月6日,科大讯飞(002230.SZ)宣布将于当日举行“讯飞星火认知大模型”成果发布会。 与其他厂商的大模型发布相比,本次发布会具有三个特点:1.全程真机互动,现场实测、现场体验;2.技术先进性不是笼统表达&#xff…

AI测试|史上最全,细数AIGC在测试领域落地的困难点

一、引言&背景 自2022年由横空出世的ChatGPT引发的各类AIGC(Generative AI)爆发以来,人们对其在各个领域的应用潜力产生了极大的兴趣。在研发领域,各种研究已经证明了Github Copilot在研发效能提高上的积极作用。 在测试领域…

ChatPDF,来了!

转自:量子位 ChatGPT生产力,又上了一个台阶! 现在,甩一个PDF过去,它能自己读,你只负责提问就行。 一篇满是专业词汇的论文,它三言两语就能解释清楚,还都是中文大白话。 而且准确性很…

ChatPDF也来了!一键上传文件即可解读,复制粘贴都省了...

点击下方卡片,关注“CVer”公众号 AI/CV重磅干货,第一时间送达 点击进入—>【计算机视觉】微信技术交流群 明敏 发自 凹非寺转载自:量子位(QbitAI) ChatGPT生产力,再进阶! 现在,甩…

GPT-4 来了!这些开源的 GPT 应用又要变强了

作者:HelloGitHub-小鱼干 近日,在 GPT-3.5 发布的半年后,OpenAI 正式推出了大版本的 GPT-4,不同于 GPT-3 到 GPT-3.5 耗时两年,这次版本升级只用了半年。如果你对 OpenAI 不熟悉,答应我读下这篇《ChatGPT 会…

GPT-4王者加冕!读图做题性能炸天,凭自己就能考上斯坦福

【导读】OpenAI的GPT-4在万众瞩目中闪亮登场,多模态功能太炸裂,简直要闪瞎人类的双眼。李飞飞高徒、斯坦福博士Jim Fan表示,GPT4凭借如此强大的推理能力,已经可以自己考上斯坦福了! 果然,能打败昨天的Open…

GPT4发布,有哪些升级和应用?

引言: GPT-4是OpenAI GPT系列研究最新里程碑,GPT-4接受图像和文本输入, 是一个大型多模态模型(接受图像和文本输入,输出为文本)。本文结合OpenAI官方Blog、技术报告微软Copilot发布会内容,详细介…

OpenAI推出GPT-4:功能强过ChatGPT 能玩梗图还能做网页

雷递网 雷建平 3月15日 在人们还在熟悉ChatGPT之际,人工智能企业OpenAI又推出了更强大的GPT-4,也被称为“王炸”产品。OpenAI CEO Sam Altman 称,GPT-4 是“我们迄今为止最强大、对齐最好的模型”。 OpenAI总裁Greg Brockman说:“…

日读300篇文献的技巧

感觉自己看文章很慢,有时候也抓不住重点。 如果是英文文献的话,可能还要有点难度,毕竟英语渣渣还是需要有中文-》英文的转换过程。 最近在搞毕业论文的时候,发现了一个非常好玩的东西,大大提升了我看文章搞科研&#x…

ChatPDF也来了!一键上传文件即可解读,复制粘贴都省了

来源丨网络 ChatGPT生产力,再进阶! 现在,甩一个PDF过去,它能自己读,你只负责提问就行。 一篇满是专业词汇的论文,它三言两语就能解释清楚,还都是中文大白话。 而且准确性很赞! 论文中…