共计 1643 个字符,预计需要花费 5 分钟才能阅读完成。
脚本运行环境
python 3.6+
edge 浏览器(举荐应用,因为在 edge 浏览器中能够取得额定 12 分,当然 chrome 浏览器也能够)
webdriver(需匹配电脑装置的浏览器版本)
selenium 4.8.0
首次运行
首次运行须要先获取账号信息,因为这里应用 webdriver,关上相似无痕浏览器,须要通过带 cookie 的形式登录微软账号
from selenium import webdriver | |
import time | |
import json | |
# 填写 webdriver 的保留目录 | |
driver = webdriver.Edge('/Users/XXXX/Downloads/edgedriver_mac64/msedgedriver') | |
# 记得写残缺的 url 包含 http 和 https | |
driver.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 json | |
import random | |
from selenium import webdriver | |
from selenium.webdriver.edge.options import Options | |
import time | |
def 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 日)
正文完