脚本运行环境

python 3.6+
edge浏览器(举荐应用,因为在edge浏览器中能够取得额定12分,当然chrome浏览器也能够)
webdriver (需匹配电脑装置的浏览器版本)
selenium 4.8.0

首次运行

首次运行须要先获取账号信息,因为这里应用webdriver,关上相似无痕浏览器,须要通过带cookie的形式登录微软账号

from selenium import webdriverimport timeimport json# 填写webdriver的保留目录driver = webdriver.Edge('/Users/XXXX/Downloads/edgedriver_mac64/msedgedriver')# 记得写残缺的url 包含http和httpsdriver.get('https://cn.bing.com/')# 程序关上网页后60秒内 “手动登陆账户”time.sleep(60)with open('cookies.txt','w') as f:    # 将cookies保留为json格局    f.write(json.dumps(driver.get_cookies()))driver.close()

先执行该脚本,而后在弹出的浏览器窗口手动登录微软账号,这里设置的是期待60秒,如果明码比拟长的能够批改一下,登录实现后期待窗口主动敞开,这里会保留你的cookie信息到你以后门路
PS:我这边测试过cookie无效工夫较长,如果提醒登录过期后须要再执行一次

执行脚本开始刷处分积分

import jsonimport randomfrom selenium import webdriverfrom selenium.webdriver.edge.options import Optionsimport timedef OpenUrl(url):    # 拜访网址    driver.get(url)    with open('cookies.txt', 'r') as f: #因为webdriver启动时相似无痕模式,应用带cookie的形式登录微软账号        cookies_list = json.load(f)        for cookie in cookies_list:            if isinstance(cookie.get('expiry'), float):                cookie['expiry'] = int(cookie['expiry'])            driver.add_cookie(cookie)def run_pc():    OpenUrl('https://cn.bing.com/search?q='+str(random_number))if __name__ == "__main__":    options = Options()    # options.add_argument("--headless")  #设置后盾运行,无窗口化    # mobile_emulation = {'deviceName': 'iPhone 6'}   #增加挪动端    # options.add_experimental_option("mobileEmulation", mobile_emulation)    #应用挪动端模拟器关上    driver = webdriver.Edge('/Users/XXXX/Downloads/edgedriver_mac64/msedgedriver', options=options)    for i in range(30):        #每次搜寻获取3积分,依据集体等级调整循环次数        random_number = random.randint(1, 100)        run_pc()        print('第', i + 1, '次实现')        time.sleep(2)    driver.quit()    print('工作实现')

如果感觉窗口化占用资源过多的话能够应用无窗口化,获取挪动端积分能够把23、24行正文掉

结尾

其实还有挪动端的积分能够获取,代码正在优化中,如果后续更新了再分享进去。
挪动端积分已增加~~~
明天就这样啦~~拜拜
(更新工夫:2023年2月13日)