美文网首页Python新世界
利用Python来获取QQ以前用的头像!看来以前都是杀马特,神级

利用Python来获取QQ以前用的头像!看来以前都是杀马特,神级

作者: 919b0c54458f | 来源:发表于2018-08-23 19:30 被阅读14次

    叙述

    步骤:

    (进群:548377875   获取数十套PDF哦!)

    代码如下:

    from selenium import webdriver

    import time

    import requests

    #设置无头模式

    opt=webdriver.ChromeOptions()

    opt.add_argument('--headless')

    b=webdriver.Chrome(options=opt)

    #打开目标网址并输入正确的qq和密码

    b.get('https://xui.ptlogin2.qq.com/cgi-bin/xlogin?appid=715030902&daid=70&pt_no_auth=0&s_url=http://qzone.qq.com')

    b.find_element_by_xpath('//*[@id="switcher_plogin"]').click()

    b.find_element_by_xpath('//*[@id="u"]').send_keys('你的QQ')

    b.find_element_by_xpath('//*[@id="p"]').send_keys('你的密码')

    b.find_element_by_xpath('//*[@id="login_button"]').click()

    #使用sleep防止还未跳转就抓取cookie,具体时间根据自己网速写

    time.sleep(2)

    #使用replace方法去掉uin最前面的字符 'o'得到正确的uin

    my_uin=str(b.get_cookie('uin')['value']).replace('o','')

    my_skey=b.get_cookie('skey')['value']

    b.quit()

    uin='uin=%s'%my_uin

    skey='skey=%s'%my_skey

    qq=input('输入查询QQ:')

    #将上面获取到的uin和skey写入headers中获取返回的json数据

    headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.5702.400 QQBrowser/10.2.1893.400',

    'Cookie':uin+skey

    }

    # 使用try方法 因服务器繁忙获取不到 ,偶尔会发生并抛出异常

    try:

    resp = requests.get('http://qlist.qlogo.cn/file_list?src=1&uin=%s&md5=&start_idx=1&end_idx=500'%qq,headers=headers)

    final_data=resp.json()

    print('共%d张'%final_data['total_num'])

    #获取每个头像的地址及对应时间戳(可以转换为本地时间,自行发挥)

    for a in final_data["file_list"]:

    print(a['base_url']+'140',a['timestamp']) #url后面+140即获取小头像,640为大头像,防止获取不到

    except KeyError:

    print('貌似开小差了,请重试! ')

    最后利用python的requests库(强烈推荐使用这个库,简单粗暴)获取就OK了!

    附图:

    雏形就是以上了,需要做下载图片功能或者封装成函数反复查询的的请自行发挥,太懒了,不想写了 。

    相关文章

      网友评论

        本文标题:利用Python来获取QQ以前用的头像!看来以前都是杀马特,神级

        本文链接:https://www.haomeiwen.com/subject/omgmiftx.html