操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    天弄到一套qq空間自動(dòng)點(diǎn)贊軟件,相信不少加了我QQ好友的朋友都已經(jīng)被我騷擾點(diǎn)贊了,這是套QQ空間營(yíng)銷的好軟件,有的朋友不知道使用起來(lái)有什么作用,有什么效果。其實(shí)很簡(jiǎn)單。


    第一,你點(diǎn)贊別人,有可能會(huì)引起別人的關(guān)注與回訪,從而你空間里推廣的東西就可以得到展示。

    第二、如果你加了行業(yè)里某個(gè)大神,他發(fā)的說(shuō)說(shuō)你點(diǎn)贊和評(píng)價(jià)了,就會(huì)在他的空間那里留下痕跡,他的粉絲就有可能看到你,就有可能移步到你的空間,從而你空間推廣的東西就得到了展示。

    這套軟件可以秒贊秒評(píng)。不不博客昨天測(cè)試了,效果還不錯(cuò),有電腦版和安卓版兩種。


    但可惜對(duì)于秒贊對(duì)象不能分組進(jìn)行,這就會(huì)得罪一批人。

    比如有人說(shuō):我今天手機(jī)掉了。

    結(jié)果你馬上給個(gè)秒贊!

    好吧,估計(jì)當(dāng)事人也無(wú)語(yǔ)了,殺你的心都有了。

    作者不不博客分享

    來(lái)源:朱海濤自媒體(微信/QQ號(hào):81433982,公眾號(hào)zhuhaitao51,關(guān)注公眾演說(shuō)群,免費(fèi)分享干貨)

    019年了不知道現(xiàn)在還有多少人玩QQ,好像玩QQ的都是些年輕人吧,一般從校園出來(lái)的小伙伴們,都紛紛用上了微信,QQ也是多年不上。

    但是我相信很多小伙伴和我一樣,還是很懷念使用QQ的那些單純的日子,所以這篇教程寫給這些還在使用QQ的小伙伴們。

    OK,不多說(shuō),直接給大家看效果圖。這是今天我的結(jié)果。




    首先,這個(gè)教程也要用到我們的捷徑規(guī)則(真的是好用,不知道的小伙伴在后臺(tái)回復(fù)“教程”就可以看到捷徑的使用教程了。)

    規(guī)則的獲取方法:



    在我們【樂(lè)曉科技】公眾號(hào)發(fā)送:【QQ贊】即可獲取這條規(guī)則。選擇在自帶Safari瀏覽器中打開,即可開始使用。

    不會(huì)捷徑使用的小伙伴們?cè)诤笈_(tái)發(fā)送【教程】即可獲得捷徑APP的使用教程。

    重中之重:打開贊設(shè)置→允許陌生人贊我!

    最后

    雖然說(shuō)標(biāo)題是一天一次,一次1000,但是使用的小伙伴還是很多的,所以沒事都會(huì)失效幾個(gè)接口,所以有的時(shí)候只有幾百個(gè),樂(lè)哥會(huì)根據(jù)大家的使用情況來(lái)更新接口的,今天一大早起來(lái)八個(gè)接口失效了,已經(jīng)更新了。如果以后使用的小伙伴不多的話,就不更新接口了。大家隨緣使用吧,且用且珍惜。

    Q空間自動(dòng)點(diǎn)贊

    • 前景提要目標(biāo)確定分析介紹登陸獲取cookie尋找XML尋找可變參數(shù)獲取第一個(gè)空間動(dòng)態(tài)尋找點(diǎn)贊所需的URL尋找可變參數(shù)功能提升到秒贊全部代碼最后還是希望你們能給我點(diǎn)一波小小的關(guān)注。奉上自己誠(chéng)摯的愛心

    私信小編01即可獲取大量Python學(xué)習(xí)資料

    前景提要

    因?yàn)槲抑車男』锇閭兲焯旄艺f(shuō)的最多的一句話就是:空間第一條點(diǎn)贊。
    所以說(shuō)我還不如直接做一個(gè)自動(dòng)點(diǎn)贊的代碼呢,免得天天催我點(diǎn)贊。


    目標(biāo)確定

    • QQ空間秒贊

    分析介紹

    登陸獲取cookie

    首先既然是對(duì) QQ空間的一系列操作,自然是先解決登陸方面,在這篇文章里面我就不過(guò)多介紹了,因?yàn)槲疑蠋灼谥皩?duì)QQ空間已經(jīng)做了一定的介紹了。直接放出鏈接就好。歡迎看博主以前的文章

    def search_cookie():
        qq_number=input('請(qǐng)輸入qq號(hào):')
        if not __import__('os').path.exists('cookie_dict.txt'):
            get_cookie_json(qq_number)
        with open('cookie_dict.txt', 'r') as f:
            cookie=json.load(f)
        return True
    def get_cookie_json(qq_number):
        password=__import__('getpass').getpass('請(qǐng)輸入密碼:')
        from selenium import webdriver
        from selenium.webdriver.chrome.options import Options
        login_url='https://i.qq.com/'
        chrome_options=Options()
        chrome_options.add_argument('--headless')
        driver=webdriver.Chrome(options=chrome_options)
        driver.get(login_url)
        driver.switch_to_frame('login_frame')
        driver.find_element_by_xpath('//*[@id="switcher_plogin"]').click()
        time.sleep(1)
        driver.find_element_by_xpath('//*[@id="u"]').send_keys(qq_number)
        driver.find_element_by_xpath('//*[@id="p"]').send_keys(password)
        time.sleep(1)
        driver.find_element_by_xpath('//*[@id="login_button"]').click()
        time.sleep(1)
        cookie_list=driver.get_cookies()
        cookie_dict={}
        for cookie in cookie_list:
            if 'name' in cookie and 'value' in cookie:
                cookie_dict[cookie['name']]=cookie['value']
        with open('cookie_dict.txt', 'w') as f:
            json.dump(cookie_dict, f)
        return True
    def get_g_tk():
        p_skey=self.cookie['p_skey']
        h=5381
        for i in p_skey:
            h +=(h << 5) + ord(i)
            g_tk=h & 2147483647

    尋找XML

    當(dāng)我們拿到cookie信息和g_tk這個(gè)參數(shù)之后,繼續(xù)去尋找空間好友動(dòng)態(tài)的XML在何處。
    首先點(diǎn)到XML位置一個(gè)個(gè)查找,發(fā)現(xiàn)有一個(gè)feeds3_html_more很像,點(diǎn)進(jìn)去發(fā)現(xiàn)的確是我們要找的url鏈接。

    尋找可變參數(shù)

    這個(gè)鏈接所需要的參數(shù)有很多,在這里列舉出來(lái)

    • uin:
    • scope:
    • view:
    • daylist:
    • uinlist:
    • gid:
    • flag:
    • filter:
    • applist:
    • refresh:
    • aisortEndTime:
    • aisortOffset:
    • getAisort:
    • aisortBeginTime:
    • pagenum:
    • externparam:
    • firstGetGroup:
    • icServerTime:
    • mixnocache:
    • scene:
    • begintime:
    • count:
    • dayspac:
    • sidomain:
    • useutf8:
    • outputhtmlfeed:
    • rd:
    • usertime:
    • windowId:
    • g_tk:
    • qzonetoken:
    • g_tk:

    這些參數(shù)中類似于可變參數(shù)的一共有五個(gè)。

    • qzonetoken
    • windowId
    • rd
    • usertime
    • g_tk
    1. qzonetoken 參數(shù)在源碼中是個(gè)可變的“定值”,因?yàn)槊看嗡⑿逻@個(gè)參數(shù)都會(huì)變,但是源碼中卻給出了他的具體值。直接獲取即可。

    def get_space():
        your_url='https://user.qzone.qq.com/' + str(qq_number)
        html=requests.get(your_url,headers=headers,cookies=cookie)
        if html.status_code==200:
            qzonetoken=re.findall('window.g_qzonetoken=(.*?);',html.text,re.S)[1].split('"')[1]
        return True
    1. windowId 與 rd 雖說(shuō)每次刷新結(jié)果都不同,但是經(jīng)過(guò)博主多次實(shí)驗(yàn)得出,這兩個(gè)參數(shù)對(duì)整體并沒有什么影響,可以直接抄下來(lái)。
    'rd': '0.9311604844249088',
    'windowId': '0.51158950324406',
    1. usertime 參數(shù)看似很眼熟,是個(gè)時(shí)間戳參數(shù),因?yàn)槲粩?shù)不對(duì),說(shuō)明應(yīng)該是被放大了一千倍。
    'usertime': str(round(time.time() * 1000)),
    1. g_tk 參數(shù)上次教程已給出。在JavaScript中分析即可獲得。
    def get_g_tk():
        p_skey=self.cookie['p_skey']
        h=5381
        for i in p_skey:
            h +=(h << 5) + ord(i)
            g_tk=h & 2147483647

    獲取第一個(gè)空間動(dòng)態(tài)

    我們拿到XML以及各個(gè)參數(shù)后,即可訪問(wèn)該網(wǎng)頁(yè)獲取其返回值了。
    但是這個(gè)返回與其他的有一些不同的是,它不僅僅是個(gè)json文件,我們無(wú)法獲取后直接轉(zhuǎn)換成字典格式去給我們使用,這就很麻煩。


    我們獲取字符串后,首先先將前后不一致的都切片扔掉,之后經(jīng)過(guò)一系列處理后發(fā)現(xiàn),我們很難將這個(gè)看似像json格式的字符串轉(zhuǎn)換成字典。
    在這里我繼續(xù)介紹一個(gè)第三方庫(kù)demjson。

    demjson 可以解決不正常的json格式數(shù)據(jù)

    demjson的使用方法很簡(jiǎn)單。

    encode將 Python 對(duì)象編碼成 JSON 字符串decode將已編碼的 JSON 字符串解碼為 Python 對(duì)象

    # 例子
    # -*- coding: utf-8 -*-
    import demjson
    js_json="{x:1, y:2, z:3}"
    py_json1="{'x':1, 'y':2, 'z':3}"
    py_json2='{"x":1, "y":2, "z":3}'
    data=demjson.decode(js_json)
    print(data)
    # {'y': 2, 'x': 1, 'z': 3}
    data=demjson.decode(py_json1)
    print(data)
    # {'y': 2, 'x': 1, 'z': 3}
    data=demjson.decode(py_json2)
    print(data)
    # {'y': 2, 'x': 1, 'z': 3}

    我們使用demjson直接將該字符串轉(zhuǎn)換為耳熟能詳?shù)淖值涓袷剑崛∑渲械膁ata的data,即為前八條動(dòng)態(tài)的每個(gè)參數(shù),但我們這里只要第一個(gè)說(shuō)說(shuō)的動(dòng)態(tài)信息。

    text=html.text[10:-2].replace(" ", "").replace('\n','')
    json_list=demjson.decode(text)['data']['data']
    qq_spaces=json_list[0]

    我們拿到其信息后,先提取一些我們比較想知道的東西,比如名字、QQ號(hào)、發(fā)布時(shí)間、所獲贊數(shù)、說(shuō)說(shuō)內(nèi)容、說(shuō)說(shuō)地址等等結(jié)果。
    在 qq_spaces 參數(shù)中我們發(fā)現(xiàn)里面有一個(gè)很長(zhǎng)也很特殊的一個(gè)結(jié)果是 html 結(jié)果,這個(gè)結(jié)果里面很長(zhǎng),簡(jiǎn)單來(lái)看是個(gè)網(wǎng)頁(yè)常規(guī)代碼,應(yīng)該是被JavaScript寫入到網(wǎng)頁(yè)中了,既然不是全部代碼,那么只能用正則提取一下里面的具體我們需要的東西了。

    content=str(qq_spaces['html'])
    try:zanshu=re.findall('<spanclass="f-like-cnt">(.*?)</span>人覺得很贊</div>',content,re.S)[0]
    except:return None
    time_out=str(qq_spaces['feedstime'])
    print("名字:"+str(qq_spaces['nickname']))
    print("QQ號(hào):"+str(qq_spaces['opuin']))
    print("時(shí)間:"+time_out)
    print('贊數(shù):'+zanshu)
    times=qq_spaces['abstime']
    his_url=re.findall('data-curkey="(.*?)"',content,re.S)[0]

    尋找點(diǎn)贊所需的URL

    在QQ空間隨便找個(gè)好友點(diǎn)個(gè)贊吧,這樣我們才能接收到請(qǐng)求。
    我們首先清空原來(lái)動(dòng)態(tài)產(chǎn)生的抓包,直接點(diǎn)個(gè)贊發(fā)現(xiàn)關(guān)于dolike的url只有三個(gè),第一個(gè)是個(gè)POST請(qǐng)求,應(yīng)該是我們所需要的點(diǎn)贊網(wǎng)址。

    尋找可變參數(shù)

    我們獲取到URL后,找到里面所需要的參數(shù)。發(fā)現(xiàn)一共有十一個(gè)參數(shù),在這里猜測(cè)應(yīng)該不存在加密參數(shù)。

    1. qzreferrer參數(shù)為自己QQ空間的網(wǎng)址,表示從哪里來(lái)的鏈接地址。
    2. opuin參數(shù)為自己的QQ號(hào),可以直接在代碼提取。
    3. unikey參數(shù)與curkey參數(shù)為被點(diǎn)贊方的鏈接,即說(shuō)說(shuō)鏈接,剛才已獲取。
    4. abstime參數(shù)為被點(diǎn)贊方說(shuō)說(shuō)的發(fā)布時(shí)間的時(shí)間戳。
    5. fid參數(shù)為被點(diǎn)贊方的鏈接后綴。

    既然參數(shù)沒什么問(wèn)題那就直接寫代碼吧。

    def get_zan(times,his_url):
        data={'g_tk': g_tk,'qzonetoken': qzonetoken}
        post_data={
            'qzreferrer': 'https://user.qzone.qq.com/'+str(qq_number),
            'opuin': str(qq_number),
            'unikey': str(his_url),
            'curkey': str(his_url),
            'from': '1',
            'appid': '311',
            'typeid': '0',
            'abstime': str(times),
            'fid': str(his_url).split('/')[-1],
            'active': '0',
            'fupdate': '1'
        }
        url='https://user.qzone.qq.com/proxy/domain/w.qzone.qq.com/cgi-bin/likes/internal_dolike_app?'
        url=url + urllib.parse.urlencode(data)
        html=requests.post(url,headers=headers,cookies=cookie,data=post_data)
        if html.status_code==200:print("點(diǎn)贊成功" if len(html.text)==469 else "點(diǎn)贊失敗")

    功能提升到秒贊

    因?yàn)闃漭刹⒉皇呛懿诲e(cuò)的問(wèn)題,這個(gè)代碼做不到絕對(duì)的秒贊。

    1. 在本地建立一個(gè)文件,負(fù)責(zé)寫入最后一條說(shuō)說(shuō)所產(chǎn)生的時(shí)間戳。
    2. 比對(duì)當(dāng)前時(shí)間戳與空間第一條說(shuō)說(shuō)是否相同,若相同則無(wú)更新。
    3. 點(diǎn)贊后重寫文件,以便下次使用代碼即可秒贊。
    def run_tolike():
        if os.path.exists('time_out.txt'):
            with open('time_out.txt','r') as f:
                time_out=f.read()
        else:time_out=None
        while True:
            get_friends_list()
            time.sleep(__import__('random').randint(0,5)) # 秒贊?
    if not time_out or time_out !=time_out:
        time_out=time_out
        get_zan(times,his_url)
        return True
    else:log('說(shuō)說(shuō)無(wú)更新,等待中...')
    with open('time_out.txt','w') as f:
        f.write(str(times))

    全部代碼

網(wǎng)站首頁(yè)   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號(hào):冀ICP備2024067069號(hào)-3 北京科技有限公司版權(quán)所有