scrapy爬虫系列之三--爬取图片保存到本地
功能点:如何爬取图片,并保存到本地
爬取网站:斗鱼主播
完整代码:https://files.cnblogs.com/files/bookwed/Douyu.zip
主要代码:
douyu.py
import scrapy import json from Douyu.items import DouyuItemclass DouyuSpider(scrapy.Spider):name = 'douyu'allowed_domains = ['douyucdn.cn']base_url = "http://capi.douyucdn.cn/api/v1/getVerticalRoom?limit=20&offset={}"offset = 0start_urls = [base_url.format(offset)]# 只能返回Request、BaseItem、dict or Nonedef parse(self, response):data_list = json.loads(response.body)["data"]# 如果没有读到数据,则退出,否则继续请求if len(data_list) == 0:returnfor data in data_list:item = DouyuItem()item["nickname"] = data["nickname"]item["image_url"] = data["vertical_src"]yield itemself.offset += 20yield scrapy.Request(self.base_url.format(self.offset), callback=self.parse)
pipelines.py
from scrapy.pipelines.images import ImagesPipeline import scrapy import os from Douyu.settings import IMAGES_STORE as images_store # 读取配置文件的信息# 继承ImagePipeline,实现对图片的操作,要进行settings的设置:IMAGES_STORE(图片保存位置)、USER_AGENT、ROBOTSTXT_OBEY、ITEM_PIPELINES class DouyuPipeline(ImagesPipeline):# 重写方法def get_media_requests(self, item, info):image_url = item["image_url"]yield scrapy.Request(image_url)# 保存图片时重命名def item_completed(self, results, item, info):# print(results)# print("*"* 30)# 列表推导式,获取图片的保存路径image_url = [x["path"] for ok, x in results if ok]# 重命名,由于都是jpg文件,所以直接拼上了os.rename(images_store+image_url[0], images_store + item["nickname"] + ".jpg")
转载于:https://www.cnblogs.com/bookwed/p/10617860.html
scrapy爬虫系列之三--爬取图片保存到本地相关推荐
- python scrapy框架 抓取的图片路径打不开图片_Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码...
大家可以在Github上clone全部源码. 基本上按照文档的流程走一遍就基本会用了. Step1: 在开始爬取之前,必须创建一个新的Scrapy项目. 进入打算存储代码的目录中,运行下列命令: sc ...
- 使用Scrapy爬虫框架简单爬取图片并保存本地(妹子图)
使用Scrapy爬虫框架简单爬取图片并保存本地(妹子图) 初学Scrapy,实现爬取网络图片并保存本地功能 一.先看最终效果 保存在F:\pics文件夹下 二.安装scrapy 1.python的安装 ...
- Python使用Scrapy爬虫框架全站爬取图片并保存本地(@妹子图@)
大家可以在Github上clone全部源码. Github:https://github.com/williamzxl/Scrapy_CrawlMeiziTu Scrapy官方文档:http://sc ...
- python爬虫爬取图片保存到本地文件
今天搜索电脑壁纸突发奇想就把所有壁纸怕取下来了 百度 壁纸 随便挑了一个点进去是zol电脑壁纸ZOL桌面壁纸 现在开始爬取 import requests from lxml import etree ...
- 使用PyCharm编写Scrapy爬虫程序,爬取古诗词网站
使用PyCharm编写Scrapy爬虫程序,爬取古诗词网站 本次测试案例参考厦门大学数据库实验室 链接: https://dblab.xmu.edu.cn/blog/3937/ 在PyCharm中新建 ...
- 爬虫系列-jsoup爬取网页你需要了解的一切
爬虫系列-jsoup爬取网页 概述 解析和遍历文档 文档的对象模型 加载HTML数据 从String解析文档 从String中加载解析片段 从URL加载文档 描述 从文件加载文档 描述 提取数据 使用 ...
- Python爬虫系列之爬取微信公众号新闻数据
Python爬虫系列之爬取微信公众号新闻数据 小程序爬虫接单.app爬虫接单.网页爬虫接单.接口定制.网站开发.小程序开发 > 点击这里联系我们 < 微信请扫描下方二维码 代码仅供学习交流 ...
- Python爬虫系列之爬取某奢侈品小程序店铺商品数据
Python爬虫系列之爬取某奢侈品小程序店铺商品数据 小程序爬虫接单.app爬虫接单.网页爬虫接单.接口定制.网站开发.小程序开发> 点击这里联系我们 < 微信请扫描下方二维码 代码仅供学 ...
- Python爬虫系列之爬取某优选微信小程序全国店铺商品数据
Python爬虫系列之爬取某优选微信小程序全国商品数据 小程序爬虫接单.app爬虫接单.网页爬虫接单.接口定制.网站开发.小程序开发 > 点击这里联系我们 < 微信请扫描下方二维码 代码仅 ...
最新文章
- AR的平面检测和利用SceneKit构建几何体
- CMD命令名详细大全
- VTK:Math之PerpendicularVector
- android handler作用,3.2.4 Handler的作用
- 实验4-2-3 pta验证“哥德巴赫猜想” (20分)
- 语言nomogram校准曲线图_预测模型的概率校准
- rpm的mysql安装_MySQL 5.7.22 rpm 安装方式
- Linux下配置服务器节点上的时区
- linux 扩展swap虚拟内存
- blackberry 7290 关于电子书阅读的几个注意事项
- 退出痛区-使用NDepend进行静态分析
- 街头篮球上读取服务器维护,《街头篮球》九月新版引入超级服务器
- 巅峰对决!2020人工智能创新创业大赛总决赛评委阵容、项目亮点震撼揭晓
- java Object class分析
- 秒杀脚本丨Python淘宝或京东等秒杀抢购脚本实现
- [基于harbor部署私有仓库] 4 推送镜像到harbor
- office必须花钱买吗
- 功率单位(power control)
- 数据结构:堆 的详解
- Installing GRUB using grub-install
热门文章
- [深度学习] 自然语言处理 --- ALBERT 介绍
- 基本机器学习面试问题 ---- Company/Industry Specific/Interest
- 【Transformer】ATS: Adaptive Token Sampling For Efficient Vision Transformers
- 【目标检测_解耦】 Revisiting the Sibling Head in Object Detector_2020
- ci/cd heroku_在Heroku上部署Dash或Flask Web应用程序。 简易CI / CD。
- DeepR —训练TensorFlow模型进行生产
- 贷款被拒,因为你的手机有问题
- 动画理解Dijkstra算法过程
- MATLAB数据分析
- Java面向对象进阶