无聊写了一个挺实用的下载爬虫:爬取qq空间相册
开发者工具找到以下:

网址这里能找到对应的相册ID,后面可用到,所以先分析
复制粘贴网址:
在Netword中找到

分析headers:

这里的参数是不变的可直接传人
然后点入随便一个相册,开发者工具Netword数据包中找到:

点入可发现所有的相册里面的图片都在这数据包中:

老办法,分析url,拉到低,分析url传入的data:

红框内的数据是关键,第一个是刚刚我们第一步获取的相册ID,第二个框是一个URL里读取的相片数量,这里的30就是等于一个相册里只读取30张照片,如果要下载全部就需要去更改它,我改成了1000
好了数据都有啦,可以直接写代码了:
因为要登陆,所以需要传入co’okie ,还有一点就是下载的相册保存名字,我直接用了连续的数字保存的:

def dwonow(img_url_list):g = 0 #给相片文件加上数字名字for i in range(0,len(img_url_list)):img = session.get(url=img_url_list[i],headers= headers).contentflie = "F:\\爬虫\\QQ空间相片\\{}.png".format(g)with open(flie,"wb") as f:f.write(img)g = g+1

主代码块:

import requests,re,jsonpath,time,os
session = requests.session()
import json,ast
headers = {'cookie': 这传入的是自己账号登陆后的cookie'user-agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36','x-requested-with': 'XMLHttpRequest'}
#获取相册ID
def get_homeid():ID_list = []url = "https://user.qzone.qq.com/proxy/domain/photo.qzone.qq.com/fcgi-bin/fcg_list_album_v3?"parma = {'g_tk': 410608236,'callback': 'shine0_Callback','t': 705908289,'hostUin': 313184725,'uin': 313184725,'appid': 4,'inCharset': 'utf-8','outCharset': 'utf-8','source': 'qzone','plat': 'qzone','format': 'jsonp','notice': 0,'filter': 1,'handset': 4,'pageNumModeSort': 40,'pageNumModeClass': 15,'needUserInfo': 1,'idcNum': 4,'callbackFun': 'shine0','_': 1605417278971,}response = session.get(url=url,params=parma,headers=headers).contentID = re.findall(r'"id" : "(.*?)",',str(response))ID_list = ID + ID_listreturn ID_list
#获取相片下载地址
def get_url():img_url_list = []for id in range(0,len(ID_list)):qq_ID = ID_list[id] qq_url = 'https://h5.qzone.qq.com/proxy/domain/photo.qzone.qq.com/fcgi-bin/cgi_list_photo?'data = {'g_tk': 410608236,'callback': 'shine0_Callback','t': 139573541,'mode': 0,'idcNum': 4,'hostUin': 313184725,'topicId': qq_ID,'noTopic': 0,'uin': 313184725,'pageStart': 0,'pageNum': 1000,'skipCmtCount': 0,'singleurl': 1,'notice': 0,'appid': 4,'inCharset': 'utf-8','outCharset': 'utf-8','source': 'qzone','plat': 'qzone','outstyle': 'json','format': 'jsonp','json_esc': 1,'answer': 'shine0','_': 1605426031873}result = session.get(url= qq_url,params=data,headers=headers).textimg_url = re.findall(r'"url" : "(.*?)",',result)img_url_list = img_url_list + img_urlreturn img_url_list #返回下载地址列表
#下载
def dwonow(img_url_list):g = 0 #给相片文件加上数字名字for i in range(0,len(img_url_list)):img = session.get(url=img_url_list[i],headers= headers).contentflie = "F:\\爬虫\\QQ空间相片\\{}.png".format(g)with open(flie,"wb") as f:f.write(img)g = g+1if __name__ == "__main__":#建立文件夹if not os.path.exists("F:\\爬虫\\QQ空间相片"):os.makedirs("F:\\爬虫\\QQ空间相片")ID_list = get_homeid()img_url_list = get_url()dwonow(img_url_list)

运行成功

一键下载QQ空间相册相关推荐

  1. python自动下载qq文件夹_GitHub - 1061700625/QQZone_AutoDownload_Album: Python+selenium 自动下载QQ空间相册...

    QQZone_AutoDownload_Album Python+selenium 自动下载QQ空间相册 . selenium_firefox.zip 需要解压后放在同路径下 . 貌似腾讯的登陆加密做 ...

  2. Python自动下载QQ空间相册

    github:https://github.com/1061700625/QQZone_AutoDownload_Album 貌似腾讯的登陆加密做的很复杂.所以用selenium模拟登陆的,这样就可以 ...

  3. 最新采集下载QQ空间相册照片的方法

    QQ空间储存了很多人年少时美好的回忆,里面保存了很多珍贵的照片,如果要保存下载,那就太麻烦了,怎么样才能批量保存QQ空间里的相册照片呢,不管是别人的还是自己的相册,只要用这个方法,都能保存. qq空间 ...

  4. 通过抓包获取QQ空间相册的真实地址,实现空间相册下载。

    在网上找过相关的资料,都不是太全~有些缺漏.所有自己根据网上的再结合自己的修改了下. 1.通过HttpAnalyzerStdV5 分析QQ空间相册的真实地址.一下就是空间相册的地址: 之前在网上看见只 ...

  5. 使用Python2.7和火狐浏览器下载QQ空间好友相册(二)

    原来的文章由于用到了curl的命令,比较麻烦,而且带上cookie之后还是有一部分无法下载,所以用httplib2代替了curl.urllib.urllib2的一些功能.重新写了一个代码 前面文章的代 ...

  6. [WPF源代码]QQ空间相册下载工具

    放一个WPF源代码,源代码地址 http://download.csdn.net/detail/witch_soya/6195987 代码没多少技术含量,就是用WPF做的一个QQ空间相册下载工具,效果 ...

  7. 如何备份你的 QQ 空间相册

    领红包方法见文末 周末无聊的时候打开了下久违的QQ空间,那么多年的记录都还在.曾经建的杰伦相册. 想到之前网易相册都关闭了,虽然腾讯家大业大,但万一呢,于是想着把QQ空间的图片都备份下来.于是有了今天 ...

  8. Python_小林的爬取QQ空间相册图片链接程序

    前言 昨天看见某人的空间有上传了XXXX个头像,然后我就想着下载回来[所以本质上这是一个头像下载程序],但是一个个另存为太浪费时间了,上网搜索有没有现成的工具,居然要注册码,还卖45一套.你们的良心也 ...

  9. php爬取qq好友,使用php批量抓取QQ空间相册链接

    前言 小杰之前发布的文章<为什么QQ空间与我们渐行渐远?> 里面就提到小杰会抽空备份QQ空间的照片,但是在网上找了很久也没有找到一个有效的工具 作为一个Phper,淦就完事了,所以顶着寒冷 ...

  10. Python网络爬虫5 - 爬取QQ空间相册

    自毕业后,就再也没有用过QQ,QQ空间里记录的是些并不精彩的青葱岁月,但好歹也是份回忆,近日想着学以致用,用Python把QQ空间相册的所有照片爬取下来,以作备份. 分析QQ空间 登录QQ空间 爬取第 ...

最新文章

  1. Android ViewPager使用具体解释
  2. python常见函数
  3. python到底可以做什么-Python究竟是什么?能干嘛?
  4. 十、从中缀向后缀转换表达式
  5. Linux 桌面玩家指南:09. X Window 的奥秘
  6. 前端笔记-vue cli中axios批量发送get和post请求及注意事项
  7. 谷歌、微软、亚马逊6个惊人的A/B测试实例
  8. 数据挖掘概念与技术11--数据仓库的实现
  9. 【Flutter】flutter doctor 报错Android license status unknown. Run `flutter doctor --android-licenses‘
  10. 每日一道剑指offer-反转链表
  11. POJ 1220 高精度进制转换
  12. android优化 清除无效代码 UCDetector
  13. Stata15-Unicode:一次性转码解决中文乱码问题
  14. 计算机组装与维护日记,计算机毕业生实习日志
  15. Miscellaneous | 恭喜本人博客进入2万名以内,多谢各位支持!
  16. 单键带定时雾化补水仪-DLT8P65SA
  17. 与、或、非、与非、或非、异或、同或的区别
  18. DailyTask-changeLog学习手册
  19. php获取星座对应的日期,获取生日对应星座的PHP函数
  20. canal kafka camus整合

热门文章

  1. fqa什么意思_FQA是什么意思
  2. 电脑网速,详细教您电脑网速慢怎么办
  3. 天正对应cad版本_2014的天正适用于哪些版本的cad
  4. snipaste如何滚动截图_3款工具满足你对截图软件的所有想象
  5. 51单片机入门-1-最小系统基础概念
  6. 毕业季青春纪念册PPT模板
  7. codesys file读写配置参数程序
  8. linux 编译cgal,CGAL Bindings python Linux(Ubuntu) 安装配置 使用 CGAL-5.0.2库
  9. html drag 例子,html5 drag事件用法
  10. PHP微信小程序生成带参二维码getwxacodeunlimit