强大的爬虫框架Scrapy是什么?

网络爬虫(web crawler),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,它们被广泛用于互联网搜索引擎或其他类似网站,可以自动采集所有其能够访问到的页面,以获取这些网站的内容。而scrapy则是一种十分强大的爬虫框架,并且它是用python编写的。下面我们来一起看看什么是scrapy?

zz.jpg

一、所需知识

需要的知识有:linux系统 + Python语言 +Scrapy框架 + XPath(XML路径语言) + 一些辅助工具(浏览器的开发者工具和XPath helper插件)。

我们的爬虫是使用Python语言的Scrapy爬虫框架开发,在linux上运行,所以需要熟练掌握Python语言和Scrapy框架以及linux操作系统的基本知识。

我们需要使用XPath从目标HTML页面中提取我们想要的东西,包括汉语文字段落和“下一页”的链接等。

浏览器的开发者工具是编写爬虫主要使用的辅助工具。使用该工具可以分析页面链接的规律,可以用来定位HTML页面中想要提取的元素,然后提取其XPath表达式用于爬虫代码中,还可以查看页面请求头的Referer、Cookie等信息。如果爬取的目标是动态网站,该工具还可以分析出背后的JavaScript请求。

XPath helper插件是chrome的一个插件,基于chrome核的浏览器也可以安装。XPath helper可以用来调试XPath表达式。

二、环境搭建

安装Scrapy可以使用pip命令:pip install Scrapy

Scrapy相关依赖较多,因此在安装过程中可能遇到如下问题:

 ImportError: No module named w3lib.http

       解决:pip install w3lib

 ImportError: No module named twisted

         解决:pip install twisted

 ImportError: No module named lxml.HTML

         解决:pip install lxml

 error: libxml/xmlversion.h: No such file or directory

         解决:apt-get install libxml2-dev libxslt-dev  

            apt-get install Python-lxml

 ImportError: No module named cssselect

         解决:pip install cssselect

 ImportError: No module named OpenSSL

         解决:pip install pyOpenSSL 

 

建议:

使用简单的方法:使用anaconda安装。

三、Scrapy框架

1. Scrapy简介

Scrapy是大名鼎鼎的爬虫框架,是使用Python编写的。Scrapy可以很方便的进行web抓取,并且也可以很方便的根据自己的需求进行定制。

Scrapy整体架构大致如下:

强大的爬虫框架Scrapy是什么?

 

2.Scrapy组件

Scrapy主要包括了以下组件:

引擎(Scrapy)

用来处理整个系统的数据流,触发事务(框架核心)。

调度器(Scheduler)

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

下载器(Downloader)

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

爬虫(Spiders)

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

项目管道(Pipeline)

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

下载器中间件(Downloader Middlewares)

位于Scrapy引擎和下载器之间的框架,主要是处理Scrapy引擎与下载器之间的请求及响应。

爬虫中间件(Spider Middlewares)

介于Scrapy引擎和爬虫之间的框架,主要工作是处理蜘蛛的响应输入和请求输出。

调度中间件(Scheduler Middewares)

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

Scrapy运行流程:

1.引擎从调度器中取出一个链接(URL)用于接下来的抓取

2.引擎把URL封装成一个请求(Request)传给下载器

3.下载器把资源下载下来,并封装成应答包(Response)

4.爬虫解析Response

5.解析出实体(Item),则交给实体管道进行进一步的处理

6.解析出的是链接(URL),则把URL交给调度器等待抓取

以上就是强大的爬虫框架Scrapy是什么?的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2258787.html

(0)
上一篇 2025年2月27日 04:27:18
下一篇 2025年2月27日 04:28:10

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • DeepSeek如何本地部署-探索DeepSeek本地部署全面指南

    deepseek本地部署指南:高效运行深度学习模型 DeepSeek是一款强大的本地部署深度学习工具,专为AI开发者打造。本文将指导您完成DeepSeek的本地部署,并提供一些实用技巧,助您快速上手。 DeepSeek本地部署步骤 首先,请…

    2025年3月29日
    100
  • deepseek怎么用python调用

    在开始之前,请确保你的计算机上已安装python和pip。打开命令提示符(windows)或终端(mac/linux),输入以下命令来验证python和pip的安装情况: “` python –version pip…

    2025年3月29日
    100
  • 普通人怎样高效利用DeepSeek-DeepSeek使用技巧助普通人一臂之力

    在当今信息爆炸的时代,高效地获取和处理数据成为了我们日常生活和工作中不可或缺的技能。deepseek作为一款强大的数据搜索与分析工具,为普通人提供了一个便捷的途径来挖掘隐藏在海量数据中的宝贵信息。接下来,我们将详细介绍普通人如何用好deep…

    2025年3月29日
    100
  • 一键搭建DeepSeek-详尽指南教你如何本地部署DeepSeek

    本文将指导您如何在本地环境快速部署deepseek,无需繁琐配置。只需几步,即可轻松运行deepseek。 准备工作: 确保您的系统符合DeepSeek的最低运行要求,并已安装所有必要依赖项。 下载脚本: 从官方GitHub仓库获取最新的一…

    2025年3月29日
    100
  • deepseek怎么编程

    DeepSeek并非编程语言,而是深度搜索概念。实现DeepSeek需基于现有语言选择。针对不同应用场景,需要选择合适的语言和算法,并结合机器学习技术。代码质量、可维护性、测试至关重要。根据需求选择合适的编程语言、算法和工具,并编写高质量代…

    2025年3月29日
    100
  • 怎么下载deepseek 小米

    如何下载 DeepSeek 小米?在小米应用商店搜索“DeepSeek”,如未找到,则继续步骤 2。确定您的需求(搜索文件、数据分析),并找到包含 DeepSeek 功能的相应工具(如文件管理器、数据分析软件)。 怎么下载DeepSeek小…

    2025年3月29日
    100
  • deepseek该怎么搜索

    直接使用DeepSeek自带的搜索功能即可,它强大的语义分析算法能准确理解搜索意图,提供相关信息。但对于冷门领域、最新信息或需要思考问题的搜索,需要调整关键词或使用更具体的描述、结合其他实时信息来源,并明白DeepSeek只是一个工具,需要…

    2025年3月29日
    100
  • deepseek怎么问他

    有效使用DeepSeek的关键在于清晰提问:直接、具体地表达问题。提供具体细节和背景信息。对于复杂的询问,包含多个角度和反驳观点。关注特定方面,例如代码的性能瓶颈。对得到的答案保持批判性思维,结合专业知识进行判断。 DeepSeek怎么问它…

    2025年3月29日
    100
  • DeepSeek本地部署如何操作-DeepSeek本地安装步骤指南

    deepseek本地部署详解:快速搭建专属数据搜索平台 DeepSeek是一款功能强大的数据搜索与分析工具,本文将指导您完成DeepSeek的本地部署,构建高效的信息检索平台。 准备工作: 系统要求: 请确保您的服务器或电脑满足DeepSe…

    2025年3月29日
    100
  • deepseek怎么用来算账

    问题:DeepSeek是否可用于会计?回答:不是,它是一个数据挖掘和分析工具,可用于分析财务数据,但本身不具备会计软件的账目记录和报表生成功能。使用DeepSeek分析财务数据需要:编写代码来处理数据具备对数据结构、算法和DeepSeek …

    2025年3月29日
    100

发表回复

登录后才能评论