功能点:如何爬取图片,并保存到本地

爬取网站:斗鱼主播

完整代码: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爬虫系列之三--爬取图片保存到本地相关推荐

  1. python scrapy框架 抓取的图片路径打不开图片_Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码...

    大家可以在Github上clone全部源码. 基本上按照文档的流程走一遍就基本会用了. Step1: 在开始爬取之前,必须创建一个新的Scrapy项目. 进入打算存储代码的目录中,运行下列命令: sc ...

  2. 使用Scrapy爬虫框架简单爬取图片并保存本地(妹子图)

    使用Scrapy爬虫框架简单爬取图片并保存本地(妹子图) 初学Scrapy,实现爬取网络图片并保存本地功能 一.先看最终效果 保存在F:\pics文件夹下 二.安装scrapy 1.python的安装 ...

  3. Python使用Scrapy爬虫框架全站爬取图片并保存本地(@妹子图@)

    大家可以在Github上clone全部源码. Github:https://github.com/williamzxl/Scrapy_CrawlMeiziTu Scrapy官方文档:http://sc ...

  4. python爬虫爬取图片保存到本地文件

    今天搜索电脑壁纸突发奇想就把所有壁纸怕取下来了 百度 壁纸 随便挑了一个点进去是zol电脑壁纸ZOL桌面壁纸 现在开始爬取 import requests from lxml import etree ...

  5. 使用PyCharm编写Scrapy爬虫程序,爬取古诗词网站

    使用PyCharm编写Scrapy爬虫程序,爬取古诗词网站 本次测试案例参考厦门大学数据库实验室 链接: https://dblab.xmu.edu.cn/blog/3937/ 在PyCharm中新建 ...

  6. 爬虫系列-jsoup爬取网页你需要了解的一切

    爬虫系列-jsoup爬取网页 概述 解析和遍历文档 文档的对象模型 加载HTML数据 从String解析文档 从String中加载解析片段 从URL加载文档 描述 从文件加载文档 描述 提取数据 使用 ...

  7. Python爬虫系列之爬取微信公众号新闻数据

    Python爬虫系列之爬取微信公众号新闻数据 小程序爬虫接单.app爬虫接单.网页爬虫接单.接口定制.网站开发.小程序开发 > 点击这里联系我们 < 微信请扫描下方二维码 代码仅供学习交流 ...

  8. Python爬虫系列之爬取某奢侈品小程序店铺商品数据

    Python爬虫系列之爬取某奢侈品小程序店铺商品数据 小程序爬虫接单.app爬虫接单.网页爬虫接单.接口定制.网站开发.小程序开发> 点击这里联系我们 < 微信请扫描下方二维码 代码仅供学 ...

  9. Python爬虫系列之爬取某优选微信小程序全国店铺商品数据

    Python爬虫系列之爬取某优选微信小程序全国商品数据 小程序爬虫接单.app爬虫接单.网页爬虫接单.接口定制.网站开发.小程序开发 > 点击这里联系我们 < 微信请扫描下方二维码 代码仅 ...

最新文章

  1. AR的平面检测和利用SceneKit构建几何体
  2. CMD命令名详细大全
  3. VTK:Math之PerpendicularVector
  4. android handler作用,3.2.4 Handler的作用
  5. 实验4-2-3 pta验证“哥德巴赫猜想” (20分)
  6. 语言nomogram校准曲线图_预测模型的概率校准
  7. rpm的mysql安装_MySQL 5.7.22 rpm 安装方式
  8. Linux下配置服务器节点上的时区
  9. linux 扩展swap虚拟内存
  10. blackberry 7290 关于电子书阅读的几个注意事项
  11. 退出痛区-使用NDepend进行静态分析
  12. 街头篮球上读取服务器维护,《街头篮球》九月新版引入超级服务器
  13. 巅峰对决!2020人工智能创新创业大赛总决赛评委阵容、项目亮点震撼揭晓
  14. java Object class分析
  15. 秒杀脚本丨Python淘宝或京东等秒杀抢购脚本实现
  16. [基于harbor部署私有仓库] 4 推送镜像到harbor
  17. office必须花钱买吗
  18. 功率单位(power control)
  19. 数据结构:堆 的详解
  20. Installing GRUB using grub-install

热门文章

  1. [深度学习] 自然语言处理 --- ALBERT 介绍
  2. 基本机器学习面试问题 ---- Company/Industry Specific/Interest
  3. 【Transformer】ATS: Adaptive Token Sampling For Efficient Vision Transformers
  4. 【目标检测_解耦】 Revisiting the Sibling Head in Object Detector_2020
  5. ci/cd heroku_在Heroku上部署Dash或Flask Web应用程序。 简易CI / CD。
  6. DeepR —训练TensorFlow模型进行生产
  7. 贷款被拒,因为你的手机有问题
  8. 动画理解Dijkstra算法过程
  9. MATLAB数据分析
  10. Java面向对象进阶