Head

既然你能找到这里,我也就不问你是出于什么目的才要导出这些照片的了
来吧,先看效果图:

如果这是你想要的效果,那么OK,这个实现起来非常简单,你只需准备以下内容:

  • Python 3.6
  • 合适的编辑器,我用Visual Studio Code
  • 电子相册若干,比如这样的

Before Coding

首先在浏览器上访问电子相册的Url,F12开发者工具,先来分析一下源码

哦,我的上帝!瞧瞧,我发现了什么,简直就是不设防,资源路径是如此的露骨,我们此行的目标就是通过这些Url来获取图片并保存到本地了!

Coding

编码之前,先在大脑里构想一下整体流程,理清思路:

  1. 通过电子相册url获取HTML代码
  2. 使用str.find()等方法,从HTML代码中提取图片Url
  3. 使用urllib.request.urlretrieve()方法,将图片写入到本地文件

1. spider.py

#coding=utf-8import urllib
import time
import random
import http.cookiejar# 伪装成浏览器获取指定url内容,中文转码
def get_html(url):cj = http.cookiejar.CookieJar()opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))opener.addheaders = [('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36'),('Cookie','4564564564564564565646540')]urllib.request.install_opener(opener)html_bytes = urllib.request.urlopen(url).read()html_string = html_bytes.decode('utf-8')return html_string# 下载指定url资源,写入到本地目录(该目录需要提前创建好),获取系统时间戳作为文件名
def download_file(url):  t = time.time()file_name = int(round(t * 1000))try:urllib.request.urlretrieve(url,'/workspace/python/picture2/%s.jpg' % file_name)except Exception as e:passprint('Donwload picture %s.jpg' % file_name)# 获取全部页面内容
html = get_html('https://wmml1.kagirl.cn/kphoto/gotoshow.php?bookid=dD2nhG888UwJRrUg6crMmUdZT1OtTXIuPVmwpJ5UxaM&wxid=wmml&shareid=&onmake=false')
# 过滤,锁定图片url代码段上下文
html = html[html.find('slider_images_url.push') : html.find('var date')]
# 整理,移除html中的无用字符,如单引号等,使用split()方法切割成数组
urlArray = html.replace('slider_images_url.push(', '').replace('\'','').split(');')
# 遍历数组 执行下载方法
for str in urlArray:download_file(str)

Console

执行Python代码,控制台打印信息:

Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。PS E:\workspace\python> cd 'E:\workspace\python'; ${env:PYTHONIOENCODING}='UTF-8'; ${env:PYTHONUNBUFFERED}='1'; & 'C:/Users/Dracarys/AppData/Local/Programs/Python/Python36/python.exe' 'C:\Users\Dracarys\.vscode\extensions\ms-python.python-2018.4.0\pythonFiles\PythonTools\visualstudio_py_launcher_nodebug.py' 'E:\workspace\python' '4585' '34806ad9-833a-4524-8cd6-18ca4aa74f14' 'RedirectOutput,RedirectOutput' 'e:\workspace\python\spider.py'
Donwload picture 1526714564235.jpg
Donwload picture 1526714564466.jpg
Donwload picture 1526714564824.jpg
PS E:\workspace\python>

顺利的话,相册中所包含的图片就已经被导出到你指定的文件夹了:

End

如果执行失败,可能是因为不同电子相册制作平台所生成的模板代码不同,导致获取不到指定的资源项,自行根据其HTML代码修改筛选逻辑即可。

Python 导出微信电子相册中的照片相关推荐

  1. 谁说程序员不浪漫?Python导出微信聊天记录生成爱的词云图

    明天又双叒叕是一年一度的七夕恋爱节了! 又是一波绝好的机会!恩爱秀起来! 购物车清空!礼物送起来!朋友圈晒起来! 需要Python软件工具和学习资料的小伙伴可以点击下方链接自行获取 http://no ...

  2. 【趣味案例】谁说程序员不浪漫?Python导出微信聊天记录生成爱的词云图

    说到词云应该不陌生,不知道的童靴往下看 词云,就是把网络文本中出现频率较高的 "关键词"予以视觉上的突出 浏览者只要一眼扫过文本就可以领略其主旨 瞧 这是不是一个有声音.有画面的小 ...

  3. 通过python获取苹果手机备份文件中的照片,视频等信息采集

    前言: 苹果手机用户通常会将手机备份到电脑上,而备份文件通常不会自动删除.在我们电脑取证,或者***到一台电脑后可以通过python脚本获取到备份文件中的一些隐私信息,比如照片.视频.相关软件中的一些 ...

  4. iphone看python文件_通过python获取苹果手机备份文件中的照片,视频等信息采集

    前言: 苹果手机用户通常会将手机备份到电脑上,而备份文件通常不会自动删除.在我们电脑取证,或者***到一台电脑后可以通过python脚本获取到备份文件中的一些隐私信息,比如照片.视频.相关软件中的一些 ...

  5. python导出微信群成员信息_python 使用wxpy实现获取微信好友列表 头像 群成员

    最近在学习 python 突然想要试试能不能把微信里面的微信群和好友取出来 结果百度了一下 找到了 wxpy 这怎么能不试一下呢 用到 wxpy.threading.os.time 四个库 第一步 判 ...

  6. python导出结果_python中导出数据到execl

    # 1.写一个函数,随便输入一个表名,把这个表里面所有的数据,导出到excel里面 # 1.'select * from %s' ,查出这个表所有的数据 # 2.再把所有的数据写到excel xlwt ...

  7. python下载微信公众号文章_python如何导出微信公众号文章方法详解

    1.安装wkhtmltopdf 下载地址:https://wkhtmltopdf.org/downloads.html 我测试用的是windows的,下载安装后结果如下 2 编写python 代码导出 ...

  8. python 公众号文章发布_python如何导出微信公众号文章方法详解

    1.安装wkhtmltopdf 下载地址:https://wkhtmltopdf.org/downloads.html 我测试用的是windows的,下载安装后结果如下 2 编写python 代码导出 ...

  9. 大数据如何使用Python分析微信数据

    截至2020年第二季度,微信拥有超过27亿活跃用户.这意味着,如果你正在阅读大数据如何使用Python分析微信数据,那么你很可能是微信用户.但是,你到底有多少微信用户?你实际发布了多少?我们可以使用P ...

  10. 绿皮书——iOS导出微信聊天记录,并用python制作词云

    The Green-Book--iOS微信聊天词云 引言 目录 1.提取微信聊天记录 1.1 iTunes备份 1.2 解密备份文件 1.3 找到指定好友 1.4 导出为xlsx 2.python读取 ...

最新文章

  1. 开源 java CMS - FreeCMS2.3 会员组管理
  2. 【EI/Scopus检索】第六届电子技术与信息科学国际学术会议诚邀您投稿参会!
  3. mac 完全卸载android studio
  4. cad指定服务器名称,配置网络许可服务器 | AutoCAD 2022 | Autodesk Knowledge Network
  5. 排坑 | Exceptionless 5.x 无法正常发送邮件
  6. Linux mount挂载和umont卸载U盘
  7. IDEA常用快捷键【win-mac对比】
  8. 实体商店与虚拟商店购买保护流程:
  9. 真香 自从用了Charles,Fiddler已经被我彻底卸载了
  10. 大多数物联网仍采用2.4GHz频段的原因
  11. 利用虚拟机搭建Linux操作系统实验环境
  12. Python3 图片添加水印
  13. sqlserver基本查询
  14. java-家庭作业2
  15. HTML和Css基础知识点笔记
  16. Docker的volumes踩坑
  17. 微信公众平台python_python搭建微信公众平台
  18. 高手怎么抓热点,每天几点操作?
  19. 超论价值观,需求价值论
  20. http://cjy.suda.edu.cn/File.aspx?id=427

热门文章

  1. bcm2837linux编程_树莓派gpio接口及编程方法
  2. 使用POI提取Word文件的内容(纯文本、带html格式)
  3. css的盒子模型与定位机制解读随记
  4. 从实际案例聊聊JDK 17 的GC优化
  5. Snapper 1.3, FireFox截屏插件
  6. Java基础教程-01-Java简介与变量介绍
  7. layim之查看更多聊天记录
  8. 实验吧-简单的登录题
  9. C# 拼图游戏(超详细)
  10. C#毕业设计——基于C#+asp.net+sqlserver的汽车修理厂物资流通管理系统设计与实现(毕业论文+程序源码)——物资流通管理系统