Python scrapy爬取图片管道重温之爬取唯美壁纸

news/2024/11/8 17:00:59/

重温了一下爬取图片的管道,同时发现了-t crawl格式的新用法,特意记录下来,爬取网站是 enterdesk。

说道新用法,主要是rules的用法,之前一直以为rule只能管理当前页,不能提取下级下下级的链接,还是 too young, sometimes naive, 嘿嘿。

rules是可以支持下级页面的爬取的,但是建议将主页面放在最下,次级页面次之,最下级页面最上,也就是反过来排序,如下面的代码。
当前我们只需要在最下级页面中提取url字段并拿给图像管道,因此,只需要一个parse函数即可。

爬虫文件

# -*- coding: utf-8 -*-
import scrapyfrom scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule
from ..items import Wallpaper2Itemclass PrettySpider(CrawlSpider):name = 'pretty'allowed_domains = ['www.enterdesk.com']start_urls = ['https://www.enterdesk.com/special/wmtp/']rules = (Rule(LinkExtractor(allow=r'//www\.enterdesk\.com/download/\d+-\d+/'), callback='parse_item', follow=False),# 下载页找图片地址,需要解析callbackRule(LinkExtractor(allow=r'/bizhi/\d+-\d+\.html'), follow=True),# # 详情页找下载页,不需要callbackRule(LinkExtractor(allow=r'https://www\.enterdesk\.com/bizhi/\d+.html'), follow=True),# 详情页,不需要callback)def parse_item(self, response):item = Wallpaper2Item()item['image_urls'] = response.xpath('//img[@id="down_main_pic"]/@src').extract()print(item)yield item

setting中需要修改一下ua,以及开启图像管道,存储图像的位置

LOG_LEVEL = "WARNING"
DOWNLOAD_DELAY = 2
ITEM_PIPELINES = {# 'wallpaper2.pipelines.Wallpaper2Pipeline': 300,'scrapy.pipelines.images.ImagesPipeline':300,# from scrapy.pipelines.images import ImagesPipeline 可以这样找imagespipeline的位置
}IMAGES_STORE = 'img'

items中开启

import scrapyclass Wallpaper2Item(scrapy.Item):# define the fields for your item here like:image_urls = scrapy.Field()images = scrapy.Field()

无需更多定制即可开爬,结果如下:
在这里插入图片描述


http://www.ppmy.cn/news/332387.html

相关文章

web测试工程师的工作职责

web测试工程师的工作职责1 职责: 1、 负责数据平台产品的测试工作,参与产品需求分析,负责方案制定,并能预先评估项目风险,确保测试活动的顺利开展; 2、 深入理解系统内部的设计原理,并能从测试的角度提供优化意见; 3、 根据产品需…

FreeRTOS-定时器详解

✅作者简介:嵌入式入坑者,与大家一起加油,希望文章能够帮助各位!!!! 📃个人主页:rivencode的个人主页 🔥系列专栏:玩转FreeRTOS 💬保持…

【分页表格】Vue2 + Element UI实现自定义的分页表格组件(自定义Vue组件)

这篇文章,主要介绍Vue2 + Element UI实现自定义的分页表格组件(自定义Vue组件)。 目录 一、分页表格 1.1、运行效果 1.2、运行环境 1.3、案例代码

平板电脑保护盖自动锁屏使用的技术

平板电脑可以使用保护盖实现自动锁屏亮屏使用了霍尔感应器

松下Android 坚固型平板,[图]松下发布坚固型安卓平板Toughbook FZ-L1

原标题:[图]松下发布坚固型安卓平板Toughbook FZ-L1 松下近日发布了全新的Android平板--Toughbook FZ-L1。同松下Toughbook系列其他产品相同,这款非常坚固的平板并非针对主流消费市场,而是面向工地、生产车间等比较恶劣的环境下使用。这款平板…

松下Android 坚固型平板,松下发布全新坚固型安卓平板Toughbook FZ-L1

原标题:松下发布全新坚固型安卓平板Toughbook FZ-L1 松下近日发布了全新的Android平板--Toughbook FZ-L1。同松下Toughbook系列其他产品相同,这款非常坚固的平板并非针对主流消费市场,而是面向工地、生产车间等比较恶劣的环境下使用。这款平板…

android平板加密软件,针对 Android 、 Windows 手机平板资料与 app 加密防护, FingerQ 推出多款手机壳与 Q-Key 指纹加密器...

针对 Android 、 Windows 手机平板资料与 app 加密防护, FingerQ 推出多款手机壳与 Q-Key 指纹加密器以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 针对Android手机使用者的个…

android平板下架,小米 曾被定义为“最好用的Android平板电脑”在本周下架了

曾被定义为“最好用的Android平板电脑”在本周下架了。 据小编今日偷偷观察到,小米官网的小米平板的分类已经被彻底的底移除了。 现在从搜索中还可以找到最新款小米平板 3 及保护套等相关配件,产品页面也还在,但是显示无货状态。小米平板从 2…