使用python脚本和crontab在阿里云实现优矿自动签到
因为优矿内存默认1G,回测不够用,而目前所知唯一扩大内存的途径就获得积分兑换内存。积分的途径有每天签到、发帖获赞等方式,但是菜鸟获赞很难,所以就写一个签到获得积分的python脚本,使用selenium模块和crontab工具,最终部署于阿里云。
- py脚本部分
这部分要上优矿的主页,摸清楚登录和签到流程,这需要多试几次找到最优流程。然后通过qq邮件通知签到成功和当前积分。
Qq邮箱设置参考https://www.cnblogs.com/kimsbo/p/10671851.html
python代码如下:
# -*- coding: utf-8 -*-
"""
Spyder EditorThis is a temporary script file.
"""
#用于有优矿签到,获得积分
# -*- coding: UTF-8 -*-
from pyvirtualdisplay import Display
from selenium import webdriver
#from selenium.webdriver import FirefoxOptions
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from time import sleep
import smtplib
from email.mime.text import MIMEText
from email.header import Header
from bs4 import BeautifulSoupdef getpoint(url,name,password):driver.get(url)wait = WebDriverWait(driver, 60)#论坛右上角点击登录wait.until(EC.presence_of_element_located((By.XPATH, '/html/body/div[2]/div/div[1]/div/div/div/a[1]'))).click()sleep(3)wait = WebDriverWait(driver, 100)wait.until(EC.presence_of_element_located((By.XPATH,"/html/body/div[2]/div/div[2]/div/div[3]/div/div/form/div[1]/input"))).send_keys(name)driver.find_element_by_xpath("/html/body/div[2]/div/div[2]/div/div[3]/div/div/form/div[2]/input").send_keys(password)driver.find_element_by_xpath("/html/body/div[2]/div/div[2]/div/div[3]/div/div/form/a").click()#driver.close()sleep(1)wait = WebDriverWait(driver, 60)wait.until(EC.presence_of_element_located((By.XPATH, '/html/body/div[2]/div/div[2]/div/div[2]/div[1]/button[2]'))).click()print('点击获得积分')driver.refresh()sleep(2) pageSource=driver.page_sourceSoup=BeautifulSoup(pageSource)credits=Soup.find('a', {'href':'/community/mall'}).get_text()print(credits)return creditsdef sendEmail(credits):smtp = "smtp.qq.com"sender='XX@qq.com'receiver='XX@qq.com'#这个密码不是邮箱密码,设置stmp后页面会显示pwd='XX'title = '已运行,当前积分{}'.format(credits)contents = "{}发送给{}的邮件".format(sender, receiver)ldqplxo = MIMEText(contents, 'plain')ldqplxo['From'] = Header(sender)ldqplxo['To'] = Header(receiver)ldqplxo['Subject'] = Header(title)mbdrewr = smtplib.SMTP_SSL(smtp, 465)mbdrewr.login(sender, pwd)mbdrewr.sendmail(sender, receiver, ldqplxo.as_string())mbdrewr.quit()display=Display(visible=0,size=(1400,900))
display.start()driver= webdriver.Firefox(executable_path="你自己的路径/geckodriver")
url='https://uqer.io/v3/community'
name='X'
password='X'
credits=0
while credits==0:credits=getpoint(url, name, password)
sendEmail(credits)
display.stop()
- crontab定时重复执行
虽然windows自带执行任务功能,但是由于签到需要联网,笔记本不能保证做到,所以还是阿里云比较合适。第一次使用crontab工具,中间坑很多。
- pip install contab
- 修改日志管理文件
参考这个https://blog.csdn.net/lrs1353281004/article/details/104007759
3.注意要使用绝对路径,否则系统内装了多个python,默认使用的不一定是你想用的。
4.设置输出
使用crontab过程,执行脚本可能会出错,这就需要查看报错情况,否则运行没结果,也不知道怎么回事。参考https://blog.csdn.net/u012129607/article/details/80418149
这次遇到一个大坑,脚本可以直接执行,但是用crontab一直不行,花了很长时间,才使用*/1 * * * * /root/XXXX.py> /tmp/load.log 2>&1 & 语句,通过查看load.log发现是执行selenium过程中找不到geckodriver。于是加上
driver=webdriver.Firefox(executable_path=你自己的路径/geckodriver),才大功告成。
Crontab的潜力还可以继续挖掘。
使用python脚本和crontab在阿里云实现优矿自动签到相关推荐
- Linux环境Shell脚本上传下载阿里云OSS文件
为什么80%的码农都做不了架构师?>>> Linux环境Shell脚本上传下载阿里云OSS文件 背景 工作中由于我们项目生成的日志文件比较重要,而本地磁盘空间有限存储不了多久, ...
- 数据库 用Python把数据写入到MySQL数据库/如何使用Python将数据写入到阿里云的RDS-MYSQL
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/weixin_42555401 需要解决的问题: 1.用Python把数据写入到MySQL数据库? 2 ...
- 个人博客,懒人终章部署,阿里云Ecs+Jenkins+Gitee自动,一键部署SpringBoot自己博客项目,还在用
阿里云Ecs+Jenkins+Gitee自动,一键部署SpringBoot自己博客项目: 最近看见网上很多Jenkins的自动部署SpringBoot的Demo,但是都要自己安装JDK,Maven.. ...
- 阿里云联手优酷推出工程师必看电影片单,高分烧脑假期必备!
阿里云联手优酷推出工程师必看电影片单,高分烧脑假期必备! 点这里直接进入观看页面:) 话不多说,上豆瓣简介及评分~ 看不见的客人 "调度上有种将阿加莎小说当代化的直感 谷仓之冰和密室的三重解 ...
- 阿里云联手优酷推出工程师必看电影片单,高分烧脑假期必备!...
阿里云联手优酷推出工程师必看电影片单,高分烧脑假期必备! 点这里直接进入观看页面:) 话不多说,上豆瓣简介及评分~ 看不见的客人 "调度上有种将阿加莎小说当代化的直感 谷仓之冰和密室的三重解 ...
- python 智能识别 商品_阿里云货架商品识别与管理Python SDK使用示例-阿里云开发者社区...
概述 货架商品识别与管理(Retail Image Recognition)是基于深度学习.图像检测.图像识别等技术,为新零售品牌商/经销商提供AI商品识别能力的阿里云产品:适用于货架商品识别.陈列识 ...
- python消息推送_Python阿里云消息推送调用API
很多公司测试APP推送时候,应该也是很头疼:推送环境:测试.正式,稍不注意就把测试的push到正式上,导致所有用户都收到 例子很多: 其实阿里.极光都有推送Api,直接调用API就ok,特别是有的公司 ...
- rcs开机启动mysql_linux添加开机自启动脚本示例详解-阿里云开发者社区
linux添加开机自启动脚本示例详解 double2li 2017-04-14 1652浏览量 简介: linux下(以RedHat为范本)添加开机自启动脚本有两种方法,先来简单的;一.在/etc/r ...
- python数据包发送给云平台_用python发送短消息(基于阿里云平台)
新版短信接口在线测试页面:https://api.aliyun.com/new#/?product=Dysmsapi&api=SendSms¶ms={}&tab=DEM ...
- 阿里云python自测答案_阿里云技能测试python初级中级高级
简介 偶尔发现,阿里云-开发者社区,里竟然有技能测试平台 覆盖知识面也较多 初级(65) 涉及知识点:Python语言的基本特性.编程环境.语法基础.数据结构,了解Python的网络编程与Web开发, ...
最新文章
- R语言grafify包简单、快速绘制19个漂亮的统计图实战
- 机器学习丨15个最流行的GitHub机器学习项目
- Java记录 -22- Java的基类Object详解
- IT行业常见职位职业路线图
- Windows 技术篇-windows家庭版win+R运行搜不到gpedit.msc组策略编辑器解决方法,windows安装组策略编辑器方法
- Lucene排序以及自定义排序
- 均匀白噪声的定义及特点_职业卫生噪声布点与检测实务
- Redis 支持的数据类型
- jhat命令 Java Heap Analyse Tool
- java 数组转字符串 字符串转数组,java高级面试笔试题
- 【转】Java 8十个lambda表达式案例
- 《百面机器学习》读书笔记
- Response.AddHeader 参数
- 用c++语言写1加到100,C++ 语言实现1加到100(初学者)
- 未识别的网络解决办法
- 如何VS Code打造成Java开发IDE?
- 笔记本无线网卡开启wifi方法
- 文华编程是c 语言吗,华中科技大学文华学院级软件工程c语言.docx
- 方向导数(Directional derivatives)
- 小白都能看懂的go语言包管理工具DEP详解