日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python+selenium自动登录qq空间并下载相册

發布時間:2024/8/26 python 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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空间并下载相册的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。