作一回白嫖怪:写一个脚本自动获取ST官网积分,用积分领取奖品

news2025/4/8 5:11:08

环境:Python、selenium、ubuntu22.04

网址:STMCU中文官网

chrome:    版本 108.0.5359.124(正式版本) (64 位)

chromeDriver:  CNPM Binaries Mirror

这两个文件我打包起来了,0积分方便大家白嫖:https://download.csdn.net/download/c_1969/87335607

怎么安装的可以看这一篇文章:

Linux(Ubuntu)配置Chromedriver_时至二五的博客-CSDN博客_chromedriver linux

简单说,就是如下:

mv webdriver /usr/local/bin

chmod +777 webdriver

一、先给大家看看“奖品”:

        

 

 

 只要积攒够了分数就可以申请领取, 博主已经知道有人领到过了。

要注意的是这样来的:

 播主试过每天手动领取(通过下载文档的方式),由于网页打开速度满的原因,每天赞够分数需要花费半个小时。非常耽误时间,为了节省时间精力才有了下文的自动化代码。

二、代码展示:

脚本分为两个文件,

文件1:stmcu.py


class Stmcu:
    def saveparam(self,arg):
        f       = open("stmcu.txt",'w')
        f.write(arg)
        f.close()
    def getparam(self):
        f2      = open("stmcu.txt",'r')
        content = f2.read()
        f2.close()
        return content

文件2:stmcuAutoDownload.py

username.send_keys('你的账户')
password.send_keys('你的密码')


#from ctypes import WinDLL
import ctypes
from xml.dom.minidom import Element
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
import re
import os

FIRSTTIME           = 1666200000
DAYLYMAXDOWNLOAD    = 29


wd      = webdriver.Chrome()
#wd.set_window_position(0,0)
#wd.set_window_size(200,200)
wd.maximize_window()

#step1 登录
wd.get('https://sso.stmicroelectronics.cn/User/LoginByPassword')
username    = wd.find_element(By.ID, 'username')
password    = wd.find_element(By.ID, 'password')
loginbtn    = wd.find_element(By.XPATH, '//input[@type="submit"]')

username.send_keys('你的账户')
password.send_keys('你的密码')
loginbtn.click()


#"""
wd.get('https://www.stmcu.com.cn/Product/pro_detail/PRODUCTSTM32/design_resource')

es      = wd.find_elements(By.CLASS_NAME, 'cd_lan')
i   = 0
maxup       = 10
    #print(e.get_attribute('href'))
    #print(e.text);
"""    
for e in es:
    i   = i + 1
    if 'ES0005_STM32F205或207xx和STM32F215或217xx...' == e.text:
        print('ok')
        print(i)
        #print(es.index(i).text)
        break
"""
j   = 0
ls  = list()
#step02 获取开始位置
"""
curday      = int((time.time() - FIRSTTIME)/86400)
curindex    = 774+curday*10
print('day:'+str(curday))
"""
from stmcu import Stmcu
stmcu           = Stmcu()
curindex        = int(stmcu.getparam())

#step03 获取链接
for e in es:
    j  = j + 1
    if j < curindex:
        continue
    print(e.text)
    if None!=re.match('https://www.stmcu.com.cn/Designresource/detail/document/[\s\S]+',e.get_attribute('href')):
        ls.append(e.get_attribute('href'))
    else:
        curindex = curindex + 1
    #wd.execute_script('window.open("'+e.get_attribute('href')+'")')
    if j >= curindex + DAYLYMAXDOWNLOAD:
        break
stmcu.saveparam(str(curindex+DAYLYMAXDOWNLOAD))
#step04 打开链接并下载
for k in ls:
    try:
        print(k)
        wd.execute_script('window.open("'+k+'")')
        handles = wd.window_handles
        wd.switch_to.window(handles[-1])
        item = wd.find_element(By.XPATH, '//*[@id="down_load_btn"]')
        item.click()
        wd.switch_to.window(handles[1])
        time.sleep(5)
    except:
        wd.get_screenshot_as_png()
        continue

    #break


文件3:运行后生成

代码运行后,会生成 stmcu.txt 这一文件,用于保存下载文件的位置。毕竟要达到几万的积分,需要下载几千个文件,如果将文件随意下载,很有可能会造成重复下载的问题,而重复下载是不能获取积分的。

三、效果展示:

 已经为我获得了一万多的积分。

当前已经下载了3000+文档,一共6000+文档,等脚本运行完成,我就要领取一个高端开发板了(大概值,没仔细数)。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/109659.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【表格合并与底纹】vue-elementul表格简单实现合并单元格,与列和行给底纹颜色

前言 这是一个很常见的需求啊&#xff0c;因为很多公司都会涉及到写表格展示数据 那么在某些公司内就会出现为了让数据更直观的感受到 而让你给某些行和列用颜色标出来。使得看起来更方便 那么这里就汇总一下常用的横竖合并以及横竖颜色底纹如何实现 效果图 这是写的一个dem…

小米便签维护过程记录——可能出现问题解决方案

在对小米便签开源代码进行研究和维护及新功能开发的同时&#xff0c;会遇到很多问题&#xff0c;将以本文进行记录总结。 导入项目 若不导入直接Open会导致默认为Project&#xff0c;不为Android。 小米标签菜单栏不显示的问题 先来看NotesListActivity类&#xff0c;这个类创…

Zookeeper 4 Zookeeper JavaAPI 操作 4.5 Curator API 常用操作【修改节点】

Zookeeper 【黑马程序员Zookeeper视频教程&#xff0c;快速入门zookeeper技术】 文章目录Zookeeper4 Zookeeper JavaAPI 操作4.5 Curator API 常用操作4.5.1 修改节点4 Zookeeper JavaAPI 操作 4.5 Curator API 常用操作 4.5.1 修改节点 直接开干 修改之前app1 的数据是本机…

PS1文件执行

PS1文件执行目录概述需求&#xff1a;设计思路实现思路分析1.power shell 管理2.shell 管理执行参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness,make a better result,wait for ch…

软件需求说明书(GB856T——88)基于协同的在线表格forture-sheet

软件需求说明书的编写提示 1引言 1.1产品目的 制造一个功能丰富&#xff0c;配置简单的在线表格组件&#xff0c;开箱即用&#xff0c;产品对位所有办公用户&#xff0c;可以大量用户同时在线进行协同合作办公&#xff0c;可以大大的提高工作效率。 1.2产品范畴 产品为软件…

Javaweb会话跟踪技术(Cookie和Session)

目录 一、会话跟踪技术概述 二、Cookie 1.Cookie基本原理 2.Cookie基本使用 3.Cookie存活时间 4.cookie存储中文 三、Session 1.Session钝化、活化 2.Session基本使用 3.sesion销毁 四Cookie和Sesion区别 一、会话跟踪技术概述 1.会话&#xff1a;用户打开浏览器&…

Java和vue开发的橱柜定制系统家具定制系统

简介 橱柜定制家具定制系统。用户查看家具样本&#xff0c;进行预约下单&#xff0c;后台人员根据用户的要求给出效果图和方案&#xff0c;以及报价&#xff0c;填写上门时间。管理员上门测量和用户确定好需求后上传协议&#xff0c;此时订单变成待开工订单&#xff0c;后台人…

过半985、单岗位2K+简历!速腾聚创如何开展校园招聘?

在半导体、芯片等新兴科技产业&#xff0c;人才短缺和人才培养已经成为全球性问题。 速腾聚创是国内激光雷达领域的龙头企业&#xff0c;在庞大人才实力的助推下&#xff0c;构建起激光雷达硬件、感知软件和芯片三大核心技术闭环&#xff0c;通过领先的技术实力和过硬的产品质量…

VB实现火焰的效果

Option Explicit 锁定指定窗口&#xff0c;禁止它更新。同一时刻间只能有一个窗口处于锁定状态&#xff0c;可用在界面作大弧度布局改变时。 Private Declare Function LockWindowUpdate Lib “user32” (ByVal hwndLock As Long) As Long 在指定的设备场景中设置一个像素的RGB…

机器学习多分类二分类回归问题数据集分享

数据集&#xff1a; https://download.csdn.net/download/qq_38735017/87336921

DocuWare 文档管理软件在医疗保健行业的应用

DocuWare 文档管理软件在医疗保健行业的应用 尽管技术在其他领域取得了很大进步&#xff0c;但许多医院、门诊机构和医疗保健提供商仍然使用过时的系统来管理计费、财务和人力资源等文档密集型流程。借助快速、安全、灵活的 DocuWare 文档管理软件&#xff0c;可以节省您的时间…

基于注解方式实现Spring Security忽略拦截

文章目录1.Spring Security忽略拦截配置2.基于配置文件注入2.1.添加配置2.2.修改Spring Security配置类2.3. 测试3.基于注解的方式过滤接口3.1.添加忽略拦截注解3.2.获取所有使用了IgnoreWebSecurity注解的接口访问路径3.3.测试1.Spring Security忽略拦截配置 关于Spring Secu…

启动项目端口被占用无奈只能重启?程序员的电脑绝不允许重启!

各位小伙伴大家好呀~最近疫情严重很多小伙伴都阳了༼༎ຶᴗ༎ຶ༽虽然放开了&#xff0c;但还是要注意防护呀&#xff01; 我们在写代码的时候&#xff0c;很多小伙伴都遇到过启动项目但是端口被占用&#xff0c;找了半天也不知道究竟谁占用的&#xff0c;所以就使出了“杀手锏…

@Scope注解的使用方法

Scope注解的使用方法 原文详细参考 1.Scope注解是什么 Scope注解是 Spring IOC 容器中的一个作用域&#xff0c;在 Spring IOC 容器中&#xff0c;他用来配置Bean实例的作用域对象。Scope 具有以下几种作用域&#xff1a; singleton 单实例的(单例)(默认)   ----全局有且…

OPTIONS 漏洞修复

文章目录前言&#xff1a;OPTIONS 漏洞说明Nginx 修复方法环境说明修复测试Tomcat 修复方法环境说明修复测试Tomcat 版本&#xff1a;8.5.3 测试SpringBoot 项目修复方法环境说明修复测试总结前言&#xff1a;OPTIONS 漏洞说明 漏洞名称 &#xff1a; OPTIONS method is enabl…

Docker+Jenkins+Gitee+Maven构建后台jar包后配置SSH传送到服务器并执行指定命令

场景 DockerJenkinsGiteeMaven项目配置jdk、maven、gitee等拉取代码并自动构建以及遇到的那些坑&#xff1a; DockerJenkinsGiteeMaven项目配置jdk、maven、gitee等拉取代码并自动构建以及遇到的那些坑_霸道流氓气质的博客-CSDN博客 在上面将后台jar包构建成功之后&#xff…

【SpringMVC】SpringMVC的入门

1.SpringMVC的入门案例 1.1 项目目录 1.2 配置核心控制器和编码过滤器(web.xml) <?xml version"1.0" encoding"UTF-8"?> <web-app><display-name>Archetype Created Web Application</display-name><!--配置spring mvc的核…

20221223英语学习

今日托福词汇 review n.复习; 回顾, 检讨; 检阅; 评论; 详检, 审核; 回放功能 tentative adj.试验性的; 不确定的; 暂时的; 犹豫的, 踌躇不决的 synonym n.同义词 confine v.限制&#xff1b;监禁 parking n.机动车停放&#xff1b;停车场 sculpture n.雕像&#xff0c;雕…

高通 OpenXR SDK 使用指南(2)

高通 OpenXR SDK 使用指南&#xff08;2&#xff09;1.5 OpenXR 生命周期1.5 OpenXR 生命周期 下图是 OpenXR 框架生命周期的流转过程。 此图中描述了以下过程&#xff1a; 应用程序首先使用 xrEnumerateApiLayerProperties 查询 API 层和扩展属性。 API层可以是以下类型&a…

Zookeeper 4 Zookeeper JavaAPI 操作 4.6 Curator API 常用操作【删除节点】

Zookeeper 【黑马程序员Zookeeper视频教程&#xff0c;快速入门zookeeper技术】 文章目录Zookeeper4 Zookeeper JavaAPI 操作4.6 Curator API 常用操作4.6.1 删除节点4 Zookeeper JavaAPI 操作 4.6 Curator API 常用操作 4.6.1 删除节点 直接开干 /*** 删除节点* 1. 删除单…