ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Scrapy实例教程

2022-10-27 16:14:03  阅读:377  来源: 互联网

标签:scrapy 实例教程 Twisted 爬虫 架构 网络 说明书 百度 百度搜


Scrapy实例教程
Scrapy是一套根据Twisted异步处理架构,纯Python网络爬虫架构。

用户只需开发和设计多个简单的控制模块,就可以轻松完成一个网络爬虫。可用于捕捉网页的具体内容及其图片,应用简单方便。

Scrapy架构主要是由于ScrapyEngine(模块),Scheduler(调度器),Downloader(下载工具),Spider(网络爬虫),ItemPipeline此外,还有两个常见的消息中间件:DownloaderMiddlewares(免费下载消息中间件)和SpiderMiddlewares(Spider消息中间件)。

1.Scrapy架构架构图
ScrapyEngine(模块):
承担Spider,ItemPipeline,Downloader,Scheduler中间通信、数据信号、数据传输等。

Scheduler(调度):
它承担接受模块推送的模块Request要求,并按一定的方法进行梳理排序,入团,当模块需要时,交给模块。

Downloader(下载工具):
免费下载ScrapyEngine(模块)全部上传Requests并掌握要求,Responses交还给ScrapyEngine(模块),由模块交付Spider去处理。

Spider(网络爬虫):
它承担所有的解决方案Responses,从中分析提取数据,获取数据Item字段所需的信息,以及必须跟踪的信息URL提交给模块,再次进入Scheduler(调度器)。

ItemPipeline(管路):
它承担解决Spider中掌握到的Item,然后进行后期制作(深入分析、过度考虑、储存等)。

DownloaderMiddlewares(免费下载消息中间件):
您可以将其视为可以自定义扩展下载功能的部件。

SpiderMiddlewares(Spider消息中间件):
你可以看作是一个自设扩展和使用模块和Spider中间通信功能的部件。

2.使用说明书
Scrapy控制模块和使用说明书如下:
大家应用Scrapy架构获取数据,一般只需编写两类编码:网络爬虫(Spider控制模块)和管道(ItemPipeline控制模块)。网络爬虫控制模块承担必须爬行的爬行Url在连接和网页分析中,管道控制模块负责将数据存储到数据库系统或文档中。

3.应用案例
我们可以快速应用Scrapy建筑快速创建项目,然后简单地写一个网络爬虫文档,获取数据。例如,爬百度主页文章的标题:
importscrapy
#爬虫类
classBaiduSpider(scrapy.Spider):
#网络爬虫名称
name='baidu'
#爬取页面
start_urls=['https://baidu.com']
#网页解析函数
defparse(self,response):
title=response.css('title::text').extract_first()
print("百度主页文章标题:"+title)

运行结果:
百度主页文章标题:百度,你会知道的

标签:scrapy,实例教程,Twisted,爬虫,架构,网络,说明书,百度,百度搜
来源:

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有