我们在遨游网络世界时,看到一些中意的图片,总是忍不住流连忘返,甚至还想都保存下来,但是一张一张的保存又太麻烦了,那这时候就得用到咱们的python了。

众所周知,Python的某一项专长,就是批量下载,那我们今天就一起试试。

人生苦短,我用python

  • 一、欲功善其事,必先利其器
  • 二、本文思路
  • 三、代码展示

一、欲功善其事,必先利其器

知识点:

  • 1、系统分析目标网页
  • 2、html标签数据解析方法
  • 3、海量图片数据一键保存

软件:

python 3.8
pycharm 2021专业版

没有软件的小伙伴可以在官网下载,也可以在左侧扫一下领取

需要安装的模块:

requests # 第三方 模块
parsel # 解析数据

键盘按 win+r 输入cmd打开命令提示符窗口,输入 pip install requests 安装,两个模块安装方法是一样的。

二、本文思路

1、分析网站 (思路分析)

①确定爬取内容

数据所在地址 kanxiaojiejie 大家自己完善一下地址,包括后面代码里的。

②通过查看网页源代码分析数据内容

2、爬虫流程

发送请求 - 获取数据 - 解析数据 - 保存数据

  • 向目标网站发送网络请求 kanxiaojiejie
  • 获取数据 (网页源代码)
  • 解析数据 (提取数据) 相册详情页地址 标题
  • 向详情页发送网络请求
  • 获取数据 (网页源代码)
  • 解析数据 (提取数据图片链接)
  • 向图片链接发送请求
  • 保存数据

三、代码展示

模块导入

import requests
import parsel

发送请求

def get_response(html_url):headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36'}# 为什么这里要 requests.get()  post() 请求会更安全...response = requests.get(url=html_url, headers=headers)return response

保存数据

def save(img_url):img_data = requests.get(img_url).contentimg_name = img_url.split('/')[-1]print("正在下载: " + img_name)with open("img\\" + img_name, mode='wb') as f:f.write(img_data)

解析数据

获取图片url地址以及标题 提取数据

def parse_1(html_data):selector = parsel.Selector(html_data)link_list = selector.css('.entry-title a::attr(href)').getall()return link_list

获取图片url地址以及标题

ef parse_2(html_data):selector_1 = parsel.Selector(html_data)img_list = selector_1.css('.entry.themeform p img::attr(src)').getall()return img_list

主函数

def run(url):data_html = get_response(url).textlink_list = parse_1(data_html)for link in link_list:data_html_1 = get_response(link).textimg_list = parse_2(data_html_1)for img in img_list:save(img)

调用主函数运行

for page in range(1, 112):url = f'kanxiaojiejie/page/{page}'run(url)

运行效果我就不展示了,大家自己去试试哈~

Python:批量把这些好看的图片保存到本地,爱了吗?相关推荐

  1. python批量从pdf中转换图片保存

    做项目,需要对公司财报做OCR,首先数据集,就得从财报pdf中截取图片了. import datetime import random import osimport fitz # fitz就是pip ...

  2. Python 爬虫多线程爬取美女图片保存到本地

    Wanning 我们不是生产者,我们只是搬运工 资源来至于qiubaichengren ,代码基于Python 3.5.2 友情提醒:血气方刚的骚年.请 谨慎 阅图 !!! 谨慎 阅图 !!! 谨慎 ...

  3. Python+阿里云人脸信息脱敏 实现大量照片批量给人脸打马赛克并保存至本地

    Python+阿里云人脸信息脱敏 实现大量照片批量给人脸打马赛克并保存至本地 前言 1.软件包下载 1.1 单解释器,系统Python环境下载软件包 1.2 多解释器,PyCharm给指定解释器安装软 ...

  4. Python爬虫实战批量下载高清美女图片,男生最爱的案例吧!

    彼岸图网站里有大量的高清图片素材和壁纸,并且可以免费下载,读者也可以根据自己需要爬取其他类型图片,方法是类似的,本文通过python爬虫批量下载网站里的高清美女图片,熟悉python写爬虫的基本方法: ...

  5. python批量生成图片_利用Python批量生成任意尺寸的图片

    实现效果 通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片. 效果如下: 目录结构 实现示例 # -*- coding: utf-8 -*- imp ...

  6. python如何将网络上的图片url和base64编码的图片保存在本地

    1.python base64编码的图片保存到本地 import os import base64 sss ="""/9j/4AAQSkZJRgABAQEASABIAAD ...

  7. python中if brthon环境安装包_Python实现base64编码的图片保存到本地功能示例

    本文实例讲述了Python实现base64编码的图片保存到本地功能.分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #!python3 import os import ...

  8. python批量下载模库网图片

    这里写自定义目录标题 python批量下载模库网图片 步骤: 代码 python批量下载模库网图片 步骤: 获取页数 获取列表页 获取图片链接和名字相关字典 创建存放图片的文件夹 下载图片 代码 im ...

  9. 转python 将base64字符串还原成图片保存

    转python 将base64字符串还原成图片保存 import os,base64 strs='''/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAoHBwgHBgoICAgLC ...

最新文章

  1. 位宽512bit显卡_显卡知识:关于显卡位宽的基础知识科普
  2. 找工作java还是python有用_你觉得学 Python 还是 Java 更好找工作?
  3. QML基础类型之real
  4. git diff old mode 100644 new mode 100755
  5. 精彩十年(2)——阴沟里也翻船
  6. [蓝桥杯2016决赛]路径之谜
  7. linux swap扩大_linux 扩展swap
  8. 手机电池余量 java,用Java获取电池电量
  9. mysql判断范围0到10 11到20_SQL 如何查询日期在一定范围内的数据
  10. 力扣题目——118. 杨辉三角
  11. 阶段3 1.Mybatis_09.Mybatis的多表操作_3 完成account的一对一操作-通过写account的子类方式查询...
  12. 要尊重员工的正当权益
  13. paip.hibernate list 返回位null的解决
  14. php文本生成图片,php文本文字创建生成图片_PHP教程
  15. 4.8 putsgets函数
  16. Python编程学习视频
  17. 我的世界Catserver开服
  18. Dijkstra算法求解单源最短路径问题
  19. 大文件上传NeatUpload简单用法 (转)
  20. MySQL记录删除后竟能按中间被删除的主键加回去,磁盘空间被重用!

热门文章

  1. 【爬虫技能书】分享自用爬虫书籍,快进来看看!
  2. 游戏时间 (10 分)
  3. 设置电脑主机ip地址
  4. 机械硬盘函数不正确要如何办啊
  5. 立根铸魂 崛起数智时代 欧拉部署超300万套
  6. 可行性、易用性性与用户体验的区别
  7. 2020复旦cs专硕抄底经验
  8. QSL建表,建序列,建触发器
  9. 多普勒效应 和 其的应用(测速仪、彩超、宇宙大爆炸 - 红移)
  10. flvplayer.swf、flv视频播放器使用方法