一键下载QQ空间相册
无聊写了一个挺实用的下载爬虫:爬取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空间相册相关推荐
- python自动下载qq文件夹_GitHub - 1061700625/QQZone_AutoDownload_Album: Python+selenium 自动下载QQ空间相册...
QQZone_AutoDownload_Album Python+selenium 自动下载QQ空间相册 . selenium_firefox.zip 需要解压后放在同路径下 . 貌似腾讯的登陆加密做 ...
- Python自动下载QQ空间相册
github:https://github.com/1061700625/QQZone_AutoDownload_Album 貌似腾讯的登陆加密做的很复杂.所以用selenium模拟登陆的,这样就可以 ...
- 最新采集下载QQ空间相册照片的方法
QQ空间储存了很多人年少时美好的回忆,里面保存了很多珍贵的照片,如果要保存下载,那就太麻烦了,怎么样才能批量保存QQ空间里的相册照片呢,不管是别人的还是自己的相册,只要用这个方法,都能保存. qq空间 ...
- 通过抓包获取QQ空间相册的真实地址,实现空间相册下载。
在网上找过相关的资料,都不是太全~有些缺漏.所有自己根据网上的再结合自己的修改了下. 1.通过HttpAnalyzerStdV5 分析QQ空间相册的真实地址.一下就是空间相册的地址: 之前在网上看见只 ...
- 使用Python2.7和火狐浏览器下载QQ空间好友相册(二)
原来的文章由于用到了curl的命令,比较麻烦,而且带上cookie之后还是有一部分无法下载,所以用httplib2代替了curl.urllib.urllib2的一些功能.重新写了一个代码 前面文章的代 ...
- [WPF源代码]QQ空间相册下载工具
放一个WPF源代码,源代码地址 http://download.csdn.net/detail/witch_soya/6195987 代码没多少技术含量,就是用WPF做的一个QQ空间相册下载工具,效果 ...
- 如何备份你的 QQ 空间相册
领红包方法见文末 周末无聊的时候打开了下久违的QQ空间,那么多年的记录都还在.曾经建的杰伦相册. 想到之前网易相册都关闭了,虽然腾讯家大业大,但万一呢,于是想着把QQ空间的图片都备份下来.于是有了今天 ...
- Python_小林的爬取QQ空间相册图片链接程序
前言 昨天看见某人的空间有上传了XXXX个头像,然后我就想着下载回来[所以本质上这是一个头像下载程序],但是一个个另存为太浪费时间了,上网搜索有没有现成的工具,居然要注册码,还卖45一套.你们的良心也 ...
- php爬取qq好友,使用php批量抓取QQ空间相册链接
前言 小杰之前发布的文章<为什么QQ空间与我们渐行渐远?> 里面就提到小杰会抽空备份QQ空间的照片,但是在网上找了很久也没有找到一个有效的工具 作为一个Phper,淦就完事了,所以顶着寒冷 ...
- Python网络爬虫5 - 爬取QQ空间相册
自毕业后,就再也没有用过QQ,QQ空间里记录的是些并不精彩的青葱岁月,但好歹也是份回忆,近日想着学以致用,用Python把QQ空间相册的所有照片爬取下来,以作备份. 分析QQ空间 登录QQ空间 爬取第 ...
最新文章
- Android ViewPager使用具体解释
- python常见函数
- python到底可以做什么-Python究竟是什么?能干嘛?
- 十、从中缀向后缀转换表达式
- Linux 桌面玩家指南:09. X Window 的奥秘
- 前端笔记-vue cli中axios批量发送get和post请求及注意事项
- 谷歌、微软、亚马逊6个惊人的A/B测试实例
- 数据挖掘概念与技术11--数据仓库的实现
- 【Flutter】flutter doctor 报错Android license status unknown. Run `flutter doctor --android-licenses‘
- 每日一道剑指offer-反转链表
- POJ 1220 高精度进制转换
- android优化 清除无效代码 UCDetector
- Stata15-Unicode:一次性转码解决中文乱码问题
- 计算机组装与维护日记,计算机毕业生实习日志
- Miscellaneous | 恭喜本人博客进入2万名以内,多谢各位支持!
- 单键带定时雾化补水仪-DLT8P65SA
- 与、或、非、与非、或非、异或、同或的区别
- DailyTask-changeLog学习手册
- php获取星座对应的日期,获取生日对应星座的PHP函数
- canal kafka camus整合
热门文章
- fqa什么意思_FQA是什么意思
- 电脑网速,详细教您电脑网速慢怎么办
- 天正对应cad版本_2014的天正适用于哪些版本的cad
- snipaste如何滚动截图_3款工具满足你对截图软件的所有想象
- 51单片机入门-1-最小系统基础概念
- 毕业季青春纪念册PPT模板
- codesys file读写配置参数程序
- linux 编译cgal,CGAL Bindings python Linux(Ubuntu) 安装配置 使用 CGAL-5.0.2库
- html drag 例子,html5 drag事件用法
- PHP微信小程序生成带参二维码getwxacodeunlimit