吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7816|回复: 15
收起左侧

[Python 转载] 基于python和selenium的刷网课的代码。

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

[Python] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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)

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

免费评分

参与人数 3吾爱币 +3 热心值 +3 收起 理由
衡心是斑马呀 + 1 + 1 大佬同求,快绝望了https://www.career99.cn/
庐州小哥 + 1 + 1 大佬,能不能帮我做一个这个网站的自动刷课的?http://start.lgb360.com/lo.
kswzy + 1 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

xtuuqtbl 发表于 2020-3-20 16:10
大佬终于出手了,灯塔党建的给看看是啥逻辑呗
 楼主| 创造太阳 发表于 2020-3-20 19:52
庐州小哥 发表于 2020-3-20 17:39
大佬,能不能帮我做一个这个网站的自动刷课的?http://start.lgb360.com/lo.

基于Python和selenium的链工宝网课自动学习脚本
https://www.52pojie.cn/thread-1112581-1-1.html
(出处: 吾爱破解论坛)
hshcompass 发表于 2020-3-20 16:22
sdlylz 发表于 2020-3-20 16:34
selenium不就是启动的浏览器模拟人工操作嘛 也需要设置cookie?
小冷ice 发表于 2020-3-20 17:05
太强大了。谢谢分享。
barnett2016 发表于 2020-3-20 17:27
那么问题来了,账号密码呢?进不去呀
庐州小哥 发表于 2020-3-20 17:39
大佬,能不能帮我做一个这个网站的自动刷课的?http://start.lgb360.com/lo.
vagrantear 发表于 2020-3-20 19:16
可惜了,分享了工具我也没资格用
MOEYU_VANILLA 发表于 2020-3-20 19:58
感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-4-13 13:19

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表