Scrapy爬虫框架 -- 图片爬取

本文介绍了如何使用Scrapy框架创建一个爬虫项目来抓取网页上的图片。首先创建一个名为tupian的项目,然后生成一个名为image的爬虫针对特定网站。接着,修改配置文件设置ROBOTSTXT_OBEY为False,定义USER_AGENT,并设置开始URL。在解析函数中,提取图片地址,并使用Items定义链接地址。通过ImagesPipeline处理图片下载,定制file_path方法,并启用该管道。最后,指定图片存储位置并启动爬虫执行图片抓取。

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

一、新建一个tupian爬虫项目

scrapy startproject tupian

二、进入到tupian项目,新建一个image爬虫文件

cd tupian
scrapy genspider image www.xxx.com

三、修改配置文件settings

ROBOTSTXT_OBEY = False
LOG_LEVEL = 'ERROR'
USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36"

四、指定要爬取的页面

start_urls = ["https://sc.XXXX/kejitupian.html"]

五、获取图片的地址

def parse(self, response):
    图片列表= response.xpath('/html/body/div[3]/div[2]/div')
    '/html/body/div[3]/div[2]/div[1]'
    '/html/body/div[3]/div[2]/div[1]/img'
    for i in 图片列表:
        图片地址 ='https:'+i.xpath('./img/@data-original').extract_first()
        print(图片地址)

六、构建items对象

链接地址 = scrapy.Field()

七、将item对象导入爬虫文件,并实例化该对象

from ..items import TupianItem
for i in 图片列表:
    图片地址 ='https:'+i.xpath('./img/@data-original').extract_first()
    item对象=TupianItem()
    item对象['链接地址']=图片地址
    yield item对象

八、新建管道类,并导入ImagesPipeline

from scrapy.pipelines.images import ImagesPipeline
class 图片管道类(ImagesPipeline):
    def get_media_requests(self, item, info):
        图片地址=item['链接地址']
        yield scrapy.Request(图片地址)
    def file_path(self, request, response=None, info=None, *, item=None):
        图片名称 =request.url.split('/')[-1]
        return 图片名称
    def item_completed(self, results, item, info):
        return item

九、开启管道,由于不是默认的管道类,所以需要修改一下

ITEM_PIPELINES = {
   "tupian.pipelines.图片管道类": 300,
}

十、指定图片保存的路径

IMAGES_STORE='图片夹'

十一、启动爬虫

scrapy crawl image

十二、运行结果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

web安全工具库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值