“百度百科Scrapy”的版本间的差异
小 (明华移动页面百度百Scrapy至百度百科Scrapy,不留重定向) |
|||
第1行: | 第1行: | ||
+ | Scrapy是Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。[1] | ||
+ | |||
+ | Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。[2] | ||
+ | |||
+ | 中文名 | ||
+ | 抓取 | ||
+ | 外文名 | ||
+ | scrapy | ||
+ | 基本功能 | ||
+ | 数据挖掘 | ||
+ | 特点 | ||
+ | 应用框架 | ||
+ | 应用 | ||
+ | 数据挖掘、监测和自动化测试 | ||
+ | 基本功能 | ||
+ | Scrapy是一个为爬取网站数据、提取结构性数据而设计的应用程序框架,它可以应用在广泛领域:Scrapy 常应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。通常我们可以很简单的通过 Scrapy 框架实现一个爬虫,抓取指定网站的内容或图片。[3] | ||
+ | 尽管Scrapy原本是设计用来屏幕抓取(更精确的说,是网络抓取),但它也可以用来访问API来提取数据。 | ||
+ | Scrapy架构 | ||
+ | |||
+ | Scrapy Engine(引擎):负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等。 | ||
+ | Scheduler(调度器):它负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列,入队,当引擎需要时,交还给引擎。 | ||
+ | Downloader(下载器):负责下载Scrapy Engine(引擎)发送的所有Requests请求,并将其获取到的Responses交还给Scrapy Engine(引擎),由引擎交给Spider来处理。 | ||
+ | Spider(爬虫):它负责处理所有Responses,从中分析提取数据,获取Item字段需要的数据,并将需要跟进的URL提交给引擎,再次进入Scheduler(调度器)。 | ||
+ | Item Pipeline(管道):它负责处理Spider中获取到的Item,并进行进行后期处理(详细分析、过滤、存储等)的地方。 | ||
+ | Downloader Middlewares(下载中间件):一个可以自定义扩展下载功能的组件。 | ||
+ | Spider Middlewares(Spider中间件):一个可以自定扩展和操作引擎和Spider中间通信的功能组件。[1] [2] | ||
+ | 如何开始 | ||
+ | 新建项目 :新建一个新的爬虫项目 | ||
+ | 明确目标 (编写items.py):明确你想要抓取的目标 | ||
+ | 制作爬虫 (spiders/xxspider.py):制作爬虫开始爬取网页 | ||
+ | 存储内容 (pipelines.py):设计管道存储爬取内容 | ||
+ | 具体如下: | ||
+ | 选择网站 | ||
+ | 选择一个网站,如果你需要从某个网站提取一些信息,但是网站不提供API或者其他可编程的访问机制,那么Scrapy可以帮助你提取信息。 | ||
+ | 定义数据 | ||
+ | 定义你要抓取的数据,第一件事情就是定义你要抓取的数据,在Scrapy这个是通过定义Scrapy Items来实现的。[2] | ||
+ | 这就是要定义的Item | ||
+ | from scrapy.item import Item, Field | ||
+ | class Torrent(Item): | ||
+ | url = Field() | ||
+ | name = Field() | ||
+ | description = Field() | ||
+ | size = Field() | ||
+ | |||
[https://baike.baidu.com/item/scrapy/7914913?ivk_sa=1022817p 百度百科Scrapy] | [https://baike.baidu.com/item/scrapy/7914913?ivk_sa=1022817p 百度百科Scrapy] |
2020年1月14日 (二) 03:23的版本
Scrapy是Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。[1]
Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。[2]
中文名 抓取 外文名 scrapy 基本功能 数据挖掘 特点 应用框架 应用
数据挖掘、监测和自动化测试
基本功能 Scrapy是一个为爬取网站数据、提取结构性数据而设计的应用程序框架,它可以应用在广泛领域:Scrapy 常应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。通常我们可以很简单的通过 Scrapy 框架实现一个爬虫,抓取指定网站的内容或图片。[3] 尽管Scrapy原本是设计用来屏幕抓取(更精确的说,是网络抓取),但它也可以用来访问API来提取数据。 Scrapy架构
Scrapy Engine(引擎):负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等。 Scheduler(调度器):它负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列,入队,当引擎需要时,交还给引擎。 Downloader(下载器):负责下载Scrapy Engine(引擎)发送的所有Requests请求,并将其获取到的Responses交还给Scrapy Engine(引擎),由引擎交给Spider来处理。 Spider(爬虫):它负责处理所有Responses,从中分析提取数据,获取Item字段需要的数据,并将需要跟进的URL提交给引擎,再次进入Scheduler(调度器)。 Item Pipeline(管道):它负责处理Spider中获取到的Item,并进行进行后期处理(详细分析、过滤、存储等)的地方。 Downloader Middlewares(下载中间件):一个可以自定义扩展下载功能的组件。 Spider Middlewares(Spider中间件):一个可以自定扩展和操作引擎和Spider中间通信的功能组件。[1] [2] 如何开始 新建项目 :新建一个新的爬虫项目 明确目标 (编写items.py):明确你想要抓取的目标 制作爬虫 (spiders/xxspider.py):制作爬虫开始爬取网页 存储内容 (pipelines.py):设计管道存储爬取内容 具体如下: 选择网站 选择一个网站,如果你需要从某个网站提取一些信息,但是网站不提供API或者其他可编程的访问机制,那么Scrapy可以帮助你提取信息。 定义数据 定义你要抓取的数据,第一件事情就是定义你要抓取的数据,在Scrapy这个是通过定义Scrapy Items来实现的。[2] 这就是要定义的Item from scrapy.item import Item, Field class Torrent(Item):
url = Field() name = Field() description = Field() size = Field()