使用scrapy批量下载图片

本文介绍了如何使用Scrapy框架来批量下载图片。通过创建爬虫项目、定义爬取类、获取并下载图片,以及扩展爬虫爬取更多图片,展示了Scrapy下载图片的高效与便捷。文中以一个具体的图片网站为例,详细解释了每个步骤的操作过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用scrapy批量下载图片

最近浏览图片网站,看到好的图集缺没有下载链接,只能一张一张存。所以就打算试试用scrapy来写爬虫。

我用下面这个网站来测试爬虫。
0

创建爬虫项目

安装scrapy就不说了,直接从创建scrapy项目开始,先在控制台中

scrapy startproject guaihaha
cd guaihaha
scrapy genspider -t basic ghh1 guaihaha.xyz

这样项目就创建好了,并且创建了一个叫ghh1的爬虫

创建爬取类

在item.py里写我们要爬取的对象包含的参数,我这里就只需要图片url和图集名

class GuaihahaItem(scrapy.Item):
    image_urls = scrapy.Field()
    name = scrapy.Field()
    pass

获取图片url

首先接收要下载图片的url参数

def __init__(self, url=None, *args, **kwargs):             
          self.start_urls=[url]

这样就可以通过scrapy crawl ghh1 -a url=xxxx 开始抓取xxx页面上的内容了

因为这个网站是一页一张图片,而且第一页就包含该图集每一页的链接。所以我们先要需要获取每一页的url。
1
通过浏览器找到每一页的链接,我通过xpath来选择这些链接,所以直接复制了xpath。因为里面不包含首页,所以还要单独yield response.url来下首页的图片

def parse(self, response):     
    yield Request(response.url,callback=self.parse_one) 
    urldata = response.xpath('//*[@id="leftChild"]/div[1]/div[2]/div[2]/p//a/@href').extract()       
    for u
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值