基于python和selenium的刷网课的代码

主要是通过使用selenium的查找定位来实现,同时通过time.sleep来控制时间
网址:http://hrbj.21tb.com
里面的课程挺不错的,都是一些别的网站上的付费教程。(不得不感慨,铁路系统待遇就是好呀。别人花钱想买的和想求的资源,免费看都懒得看)
这个刷课主要是替代人的操作。没用什么脚本或者加速什么的,全部都是实打实的播放。
打算挂机刷网课的小伙伴们,可以参考一下!

?

from selenium import webdriver
import json
import time
from selenium.webdriver.common.action_chains import ActionChains
from easygui import enterbox
import re

chromedriver = ‘chromedriver.exe‘ # 设置浏览器内核exe程序的位置
chome_options = webdriver.ChromeOptions() #设置使用浏览器内核
wd = webdriver.Chrome(chromedriver, chrome_options=chome_options)
wd.delete_all_cookies() # 删除cookies
wd.maximize_window() # 将浏览器最大化
wd.implicitly_wait(60) #60s内循环查找元素
wd.get("http://hrbj.21tb.com") #访问网页
print("访问页面成功!")
time.sleep(15) #15S的延时,输入信息,或者自动输入信息
#异地登陆,会弹出来验证窗口,常用地登陆就没什么问题
element = wd.find_element_by_id("loginName")
element.send_keys("用户名")
element = wd.find_element_by_id("password")
element.send_keys("密码\n")
cookies = wd.get_cookies() #获取cookies
f1 = open(‘cookie.txt‘, ‘w‘)
f1.write(json.dumps(cookies))
f1.close
f1 = open(‘cookie.txt‘)
cookie = f1.read()
cookie = json.loads(cookie)
for c in cookie:
wd.add_cookie(c) #把cookies信息传递给浏览器内核,这样可以保证浏览器一直处于账号登陆状态
print("登陆成功!")
time.sleep(15)

def shuake(url): #定义刷课函数
wd.get(url) #访问网址
print("进入学习界面成功!")
time.sleep(2)
element = wd.find_element_by_tag_name("iframe") #找的tag name
# print(element.text)
play_url = element.get_attribute(‘src‘) #获得实际播放信息网址
# print(play_url)
wd.get(play_url) #访问实际播放页
print("进入实际播放页")
time.sleep(5)
elements = wd.find_elements_by_xpath(‘/html/body/div/div[2]/div[2]/div/ul[1]/div/li/span[2]‘) #找到每节课的时长所在位置
play_times = [] #时长设置空列表
for element in elements: #依次获得播放时长
# print(element.text)
n = re.findall("-?[0-9]\d*",element.text) #提取其中的数字
# print(n)
m = int(n[0]) * 60 + int(n[1]) # 秒数换算
# print("该视频秒数为:", m)
play_times.append(m) #添加到列表中

time.sleep(3)
element = wd.find_element_by_class_name("outter") #找到播放键
element.click() #点击
print("开始播放!")
for play_time in play_times: #依次播放
print("本节课程播放用时需要", play_time,"秒")
time.sleep(play_time) #等待一个是视频时长的时间
time.sleep(3) #等待3s,以防网络延时没加载出来下一节
element = wd.find_element_by_class_name(‘next-button‘) #定位下一节按钮
element.click() #点击
print("播放下一节成功!")
print("播放本门课程结束!")

url = enterbox(msg="请输入课程网址!") #用easygui的输入框,方便打包输入
shuake(url)

这个刷课主要是替代人的操作。没用什么脚本或者加速什么的,全部都是实打实的播放。

原文地址:https://www.cnblogs.com/7758520lzy/p/12569298.html

时间: 2024-09-30 14:50:57

基于python和selenium的刷网课的代码的相关文章

完全机器模拟浏览器操作自动刷网课!不怕被封!!-----python基于selenium实现超星学习通刷视频网课

原谅我这个标题党,对叭起 最近没事觉得网课恶心人,“你们学计算机的,随便写个程序玩玩,很容易哒”------语出高数老师,于是我就“随便”写了个刷网课的程序,没什么nb算法,请各路大神指教 原谅我的个别函数名和变量名用了拼音,别喷我low呜呜呜(其实就是懒,打拼音顺手了,这是个坏习惯,大家别学我) 以上的都是废话 需要注意的是要安装一个浏览器驱动,去网上下载就好了,把地址添加在第四行那里,我代码里面的是谷歌浏览器,如果想要用其他的浏览器代码换成相应的就行 然后要自己在终端输入自己的账号.密码,还

刷网课小玩意

改编自:https://www.cnblogs.com/yueshutong/p/9634322.html 超星尔雅自动刷网课代码(对每个课程需要修改参数) 1 var fa = $("body"); 2 var btn = $("<li></li>"); 3 var json = { 4 "background": "#31e16d", 5 "height": "16px

php编写刷网课自助下单系统(第三方支付实例)

此项目是由于本人刚刚入门php且在校代刷网课而编写的,由于在上课时间不方便接单,故特意写一个自助下单系统来实现客户自助下单.本项目主要实现以下功能:1.用户下单2.用户支付3.用户通过账号查询订单4.管理员登录查看所有订单 设计思路:项目比较简单,基本就是与数据库之间的通信,进行数据的增删改查.支付使用的是第三方支付接口. 以下是具体代码:用户提交订单页面index.php 1 <?php 2 header('Content-type: text/html; charset=UTF8'); 3

使用python的selenium库刷超星网课

网课很多看不完呀 所以动手做了一个基础的自动答题和下一节的程序 用到了python 3 selenium Chrome 如何自动化Chrome?https://www.cnblogs.com/eternal1025/p/8880245.html 配置好之后上代码 源码下载地址  https://github.com/zlaiyyf/ChaoXIing_seleniumm 时间紧张所以嘛bug就.... coding:utf-8 from selenium import webdriver # 显

基于Python ddt, selenium数据驱动测试实例1

#!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2015-04-27 @author: beyondzhou @name: logintest.py ''' import unittest from ddt import ddt, data, unpack from selenium import webdriver import os import time from selenium.common.exceptions imp

基于python的selenium两种文件上传操作

方法一.input标签上传     如果是input标签,可以直接输入路径,那么可以直接调用send_keys输入路径,这里不做过多赘述,前文有相关操作方法. 方法二.非input标签上传 这种上传方式需要借助第三方工具,主要有以下三种情况: 1.AutoIt  去调用它生成的au3或者exe格式的文件 2.SendKeys第三方库(目前只支持到2.7版本) 网址:https://pypi.python.org/pypi/SendKeys 3.Python的pywin32库,通过识别对话框句柄来

selenium自动化实战-基于python语言(环境搭建)

在看过了<selenium 2自动化测试实战-基于python语言> 这本书之后,有一些自己发现的问题,在这里记录下来方便自己查阅,也希望大家指正或给出建议. Windows环境搭建: 1. 安装FireBug以及FirePath前端工具来帮助我们查看前端代码. 可以直接通过Firefox的添加插件直接安装,非常方便 IE以及Chrome等浏览器一般使用F12即可调出此类开发人员工具 2. 安装Python 通过python官网或者其他途径下载python安装包,我这里安装的是3.5 64bi

基于python语言的Selenium自动化测试

  一.Selenium简介 Selenium是一个web自动化应用测试工具,还支持所有的web的管理任务自动化.并且开源免费,也是一个web自动化轻量级框架.它支持多种浏览器.跨平台.跨操作系统.支持多种编程语言编写脚本,还能进行分布式测试用例的执行. Selenium经历三个版本,Selenium1.Selenium2.Selenium3.它不是单独的一个工具,而是由一些类库.插件.工具等组合而成.主要的工具: Selenium IDE:Selenium IDE是嵌入火狐浏览器中的一个插件,

基于Python+selenium+Chrome的网页自动化教程

Python版本:Python2.7 Selenium版本:selenium3 Chrome版本: 浏览器驱动(chromedriver)版本: Python的安装 Python下载链接:https://www.python.org/ python安装完成后 ctrl+R输入cmd进入命令行界面,输入Python再按回车,如果出现Python版本信息则安装成功 Python安装selenium分为在线安装和离线安装. 离线安装: Selenium下载链接:https://pan.baidu.co