scrapy的概念和流程

Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,
我们只需要实现少量的代码,就能够快速的抓取。

scrapy的三个内置对象

request请求对象:由url method post_data headers等构成
response响应对象:由url body status headers等构成
item数据对象:本质是个字典

五个核心模块和2个中间件
在这里插入图片描述

scrapy 流程图

在这里插入图片描述

Scrapy爬虫流程可以简单地分为以下几个步骤: 1. **定义爬虫:** 创建一个 Scrapy 爬虫项目,并定义一个爬虫类,指定要爬取的网站的域名和起始 URL。 2. **发送请求:** Scrapy 会自动创建一个请求对象,并将其发送到指定的 URL。 3. **解析响应:** 当服务器返回响应后,Scrapy 会自动调用指定的回调函数,对响应进行解析,并从中提取数据。 4. **存储数据:** 在解析响应的过程中,可以将提取到的数据存储到本地文件或数据库中。 5. **跟进链接:** 解析响应时,可以从中提取链接,并使用 Scrapy 的 Request 对象对其进行跟进,继续爬取更多的数据。 6. **重复步骤 3-5:** 重复以上步骤,直到爬取到足够的数据或达到设定的条件。 下面是一个简单的 Scrapy 爬虫的示例代码,演示了这个流程: ```python import scrapy class MySpider(scrapy.Spider): name = 'myspider' start_urls = ['http://example.com'] def parse(self, response): # 解析响应,提取数据 data = {'title': response.css('title::text').get()} # 存储数据 self.save_data(data) # 跟进链接 for link in response.css('a::attr(href)').getall(): yield scrapy.Request(response.urljoin(link), callback=self.parse) def save_data(self, data): # 存储数据到本地文件或数据库中 pass ``` 这个爬虫会从 http://example.com 开始爬取网页,并对每个链接进行跟进,直到爬取到足够的数据或达到设定的条件。在解析响应时,它会提取标题,并将数据存储到本地文件或数据库中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值