python+selenium自动登录qq空间并下载相册
基于selenium的自动登录qq空间并遍历所有相册及相片的功能。只能访问自己或好友(有访问权限)的相册,好友有密码的相册不可能。。。这里只是介绍流程,所以只是实现了遍历,并未实现图片文件的下载保存。读取相册信息是请求的手机版qq空间的相册相关接口,其中写死了只遍历前50个相册,可以自己改。
脚本并未处理任何可能出现的错误,请自己完善。
在环境:64位win7+python2.7+selenium3.5.0+chromedriver2.31 下测试通过。
#!coding:utf-8
from selenium import webdriver
import requests,time,json
login_uin = '123456789' #登录qq
pwd = 'zx1233211234567' #登录密码
album_uin = '123456789' #要读取相册的qq
s = requests.Session()
#实例化出浏览器开始登录
driver = webdriver.Chrome()
driver.set_window_size(1000,600)
driver.get('https://mobile.qzone.qq.com')
driver.find_element_by_id('u').clear()
driver.find_element_by_id('u').send_keys(login_uin)
driver.find_element_by_id('p').clear()
driver.find_element_by_id('p').send_keys(pwd)
driver.find_element_by_id('go').click()
#等待浏览器中js计算出qzonetoken
while True:
qzonetoken = driver.execute_script("return window.shine0callback")
if qzonetoken:
break
time.sleep(0.1)
#读取QQ出售平台cookie后关闭浏览器
cookies = driver.get_cookies()
driver.quit()
cookies_ = {}
for cookie in cookies:
if cookie['name'] == 'p_skey':
skey = cookie['value']
#s.cookies.set(cookie['name'], cookie['value'])
cookies_[cookie['name']] = cookie['value']
#计算gtk
e = 5381
for i in range(len(skey)):
e = e + (e<<5)+ord(skey[i])
g_tk = str(2147483647 & e)
###################### www.zh30.com ######################
#请求中添加cookie,开始读取相册列表
requests.utils.add_dict_to_cookiejar(s.cookies, cookies_)
url="https://mobile.qzone.qq.com/list?qzonetoken="+qzonetoken+"&g_tk="+g_tk+"&format=json&list_type=album&action=0&res_uin="+album_uin+"&count=50"
r = s.get(url);
data = json.loads(r.text.encode('utf-8'))
for album in data['data']['vFeeds']:
print '相册名:'+album['pic']['albumname'].encode('utf-8')
print '相册id:'+album['pic']['albumid'].encode('utf-8')
print '图片数量:' + str(album['pic']['albumnum'])
print '开始下载相册图片:'
#读取当前相册中的图片列表
url = "https://h5.qzone.qq.com/webapp/json/mqzone_photo/getPhotoList2?qzonetoken="+qzonetoken+"&g_tk="+g_tk+"&uin="+album_uin+"&albumid="+album['pic']['albumid'].encode('utf-8')+"&ps=0"
r = s.get(url)
photo_datas = json.loads(r.text.encode('utf-8'))
for T in photo_datas['data']['photos']:
for pic in photo_datas['data']['photos'][T]:
print '图片名:'+pic['picname'].encode('utf-8')+',url:'+pic['1']['url'].encode('utf-8')
print "="*10
以下是运行截屏,右键图片在新标签页打开,可以高清~
python+selenium自动登录qq空间并下载相册相关推荐
- python访问陌生人qq空间_使用Python+Selenium模拟登录QQ空间
使用Python+Selenium模拟登录QQ空间 爬QQ空间之类的页面时大多需要进行登录,研究QQ登录规则的话,得分析大量Javascript的加密解密,这绝对能掉好几斤头发.而现在有了seleni ...
- Python selenium 模拟登录QQ空间
下面文档的脚本执行,必须要下载 谷歌浏览器对应的驱动详细的流程时 selenium的使用流程a 环境的安装 b 谷歌浏览器驱动下载地址:http://chromedriver.storage.goog ...
- python+selenium自动登录QQ邮箱
环境:win10x64+python3.5+chrome+chromedriver 需要安装的模块: 1.chromedriver 下载地址,下载后加入系统环境变量即可. 2.selenium # p ...
- selenium自动登录QQ空间(无头、规避)
无头参数设置: from selenium.webdriver.edge.options import Options options = Options() options.add_argument ...
- Selenium基础知识 自动登录QQ空间
Selenium基础知识 自动登录QQ空间 from selenium import webdriver import timedef auto_login():driver = webdriver. ...
- python爬取加密qq空间_使用python+selenium爬取qq空间好友动态
使用python+selenium爬取qq空间好友动态 分析过程如下: 要想用selenium登陆qq空间,必须点击账号密码登陆按钮然后再填写账号密码登陆. 1.PNG 点击账号密码按钮后跳转到如下页 ...
- 无聊日常--python+selenium+chromedriver 实现QQ空间评论自动删除
博客内容用于技术交流学习,读者通过学习本博客内容后进行的任何违法违规操作与本人无关,特此声明. 我最初有写这个项目的想法是在18年11月底(好像是),当时我们学校的表白墙遭到了麦片的账号骚扰--不断在 ...
- python实现自动登录QQ邮箱
python 和selenium实现自动登录QQ邮箱 selenium需要先导入,pip install selenium 或者在pycharm里面点击file–settings–Project–Pr ...
- Python学习笔记(二):利用Selenium一键自动登录QQ空间、百度等网站
曾经在学校闲的时候,见到有人通过程序自动登录百度等网站,觉得很厉害.实习的时候,偶然的机会也研究了一下,有空的时候试试运行就自动点赞,觉得还比较有意思,可以用来装装X,哈哈. 一.python环境 第 ...
最新文章
- 如何优雅地根治null值引起的Bug!
- 找出1000以内的所有完数。
- 2019年“计算法学”夏令营即日起接收报名申请
- boost::smart_ptr模块boost/pointer_cast.hpp 的测试
- django ajax 简书,Django_ajax
- c盘的Oracle文件删不了吗,oracle卸载不干净怎么办
- 牛X,试用了下GitHub上22万Star的第一抢票神器,3秒钟抢到!
- 《是碰巧还是执着?python所阅读的每一场知识点,唯一的共同点就是——参赛选手中,有python之socket编程!》
- 相同java代码,编译生成class文件不同的原因-JDK版本不同(大版本相同,小版本不同)
- python输出语句怎么换行_python输出语句换行
- 苹果4s怎么越狱教程_苹果手机:使用Rollectra工具清除iOS11.3~11.4beta3越狱教程
- java新闻发布系统源代码_Java新闻发布系统源代码
- 螺钉 螺母 硬币三种物体的识别
- f检验matlab计算,F检验(F-Test)计算公式与在线计算器_三贝计算网_23bei.com
- Netty In Action中文版 - 第一章:Netty介绍
- 很酷的瞄准镜样式光标效果
- Postman中请求体提交方式
- 物流计算机流程图,物流管理流程图.doc
- 黄哥python培训骗局
- 机器学习(Machine Learning)深度学习(Deep Learning)资料汇总
热门文章
- HTML里的表格不能复制粘贴,表格之间无法复制粘贴怎么办_两个EXCEL表格为什么不能复制和粘贴-win7之家...
- 为什么要使用openstry_为什么要使用双屏办公?
- cad2010背景怎么调成黑色_买皮蛋时,黄色和黑色的有什么区别?哪种更好?看完涨知识了...
- android 插桩工具,Android Asm 插桩 教学项目
- win10进程太多怎么优化_【电脑维护宝典】WIN10系统下的电脑维护(2)
- 深度学习:tensorflow的简单用法,tensorflow实现SVM
- 学习伟大的Python的第七天
- day002--python编程的相关软件,变量
- iio iio:device0: Error: xscale == 0
- 删除msconfig启动项不打勾的东西