Code前端首页关于Code前端联系我们

scrapy如何从站长的素材中检索高清图片?主要思想是什么?

terry 2年前 (2023-09-24) 阅读数 53 #后端开发

scrapy如何查象。我们首先以爬取站长素材中的高清图片为例。我们将解释今天的步骤。在我们解释之前,让我们先弄清楚总体思路。

1。scrapy对于图像爬取的主要思想是什么?

scrapy爬取图像和文本信息的前几步是相同的。他们需要经历以下步骤:

创建文件夹和爬虫文件 - 发送请求 - 解析数据 - 将数据封装成 item - 提交到管道

不同之处在于管道设置。通过重复前面的课程,我们可以获取文本内容中管道的设置。我们只需要在管道中设置保存位置并导入包即可。该项目的详细信息就足够了。抓取图像时,我们无法再使用开箱即用的管道来自定义它们。我们需要引入imgspipeline类,一个专门用来存储图像的类。

2。创建一个新文件夹和一个新的爬虫文件。?链接并编写解析代码,测试能否获取到图片的链接(如下图)。需要注意的是,测试之前需要在settings文件夹(setting)

scrapy怎么爬取站长素材中的高清图片?主要思路是什么?

scrapy怎么爬取站长素材中的高清图片?主要思路是什么?

scrapy怎么爬取站长素材中的高清图片?主要思路是什么?

scrapy怎么爬取站长素材中的高清图片?主要思路是什么?

5中设置user agent和robots参数。将解析出的数据封装到item中

首先打开item文件,设置src属性,代码如下:

scrapy怎么爬取站长素材中的高清图片?主要思路是什么?

然后返回爬虫文件,只需导入item类并封装解析出的数据即可,发送项目到管道。代码如下:

scrapy怎么爬取站长素材中的高清图片?主要思路是什么?

scrapy怎么爬取站长素材中的高清图片?主要思路是什么?

要设置管道,首先我们知道,为了下载图片,我们首先要获取图片的链接,然后向图片的链接发送请求,然后需要保存文件。按照这个想法,我们可以设置管道:

1。首先,打开Pipelines文件夹

由于我们不能再像以前一样使用之前的管道类(Pipeline)来存储文本,所以我们需要使用新的管道类ImagesPipeline来存储图像。 ,所以我们需要先导入这个类

scrapy怎么爬取站长素材中的高清图片?主要思路是什么?

2。定义一个类 Images

注释掉原来的 pipeline 类,手动定义一个类

scrapy怎么爬取站长素材中的高清图片?主要思路是什么?

3。发送请求

导入这个类 以后我们会完成发送图片链接请求、在管道中存储数据等操作。首先定义一个发送请求函数,完成发送请求操作:

scrapy怎么爬取站长素材中的高清图片?主要思路是什么?

4。保存数据

接下来,我们定义一个函数来保存数据并设置保存的文件名。那么保存的路径应该在设置文件中。添加IMAGE_STORE设置保存路径:

scrapy怎么爬取站长素材中的高清图片?主要思路是什么?

scrapy怎么爬取站长素材中的高清图片?主要思路是什么?

5。返回项目

我们定义一个项目函数来返回项目。这一步与文本爬取类似,也是返回item。这样我们就建立了管道

scrapy怎么爬取站长素材中的高清图片?主要思路是什么?

6。打开管道通道

需要注意的是,因为管道是我们新定义的类,所以我们需要将其名称更改为我们在第二步

scrapy怎么爬取站长素材中的高清图片?主要思路是什么?

7中定义的管道名称。奔跑

scrapy怎么爬取站长素材中的高清图片?主要思路是什么?

scrapy怎么爬取站长素材中的高清图片?主要思路是什么?

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门