挂海论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
 友情提示:文字/图片广告均非网站意见,请担保交易勿直接付款,由此产生的责任自负
玩游戏来117游戏网(H5不下载也能玩手游传奇,吃鸡,竞技都有)不懂社区·好资源不错过·各位资源站大佬欢迎来采集搬运JD寻实力长期勤快开发,来实力代理,DMA内存,项目讨论群 【瓦--无畏】纯硬件锁,永久可用,无检测,源头厂家一手制作。稳定无异味,来实力代理 安卓/ios 分发签名,已对接CDN,国内备案
收WB量三角洲gamest参数自带上号器可合作分成,另03收网吧端自带插件做weg企鹅2245456780 ██【我要租此广告位】██...
查看: 2375|回复: 4
打印 上一主题 下一主题

[网页游戏辅助源码] 基于python和selenium的刷网课的代码。

[复制链接]
4中级会员
543/600

543

积分

79

主题

5

听众
已帮网友解决1 个问题
好评
-6
贡献
464
海币
1155
交易币
0

最佳新人推广达人热心会员开荒者宣传达人原创大师签到达人

QQ
跳转到指定楼层
楼主
发表于 2020-3-22 16:10:36 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
提醒:若下载的软件是收费的"请不要付款",可能是骗子,请立即联系本站举报,执意要付款被骗后本站概不负责。(任何交易请走第三方中介,请勿直接付款交易以免被骗!切记).

友情提示:文字/图片广告均非本站意见,请担保交易勿直接付款,由此产生的责任自负!!!↑↑


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

[Python] [color=rgb(51, 102, 153) !important]纯文本查看 [color=rgb(51, 102, 153) !important]复制代码
[color=rgb(51, 102, 153) !important]
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)


[color=rgb(51, 102, 153) !important]这个刷课主要是替代人的操作。没用什么脚本或者加速什么的,全部都是实打实的播放
[color=rgb(51, 102, 153) !important]



联系我时,请说是在 挂海论坛 上看到的,谢谢!



上一篇:开源H5麻将斗地主源码【含视频教程】源码+教程
下一篇:分享一个上市 源码及一个离线全局检测源码
免责声明:
1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关。一切关于该内容及资源商业行为与www.52ghai.com无关。

2、本站提供的一切资源内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。

3、本站信息来自第三方用户,非本站自制,版权归原作者享有,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

4、如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵犯你版权的,请邮件与我们联系删除(邮箱:xhzlw@foxmail.com),本站将立即改正。

4中级会员
543/600

543

积分

79

主题

5

听众
已帮网友解决1 个问题
好评
-6
贡献
464
海币
1155
交易币
0

最佳新人推广达人热心会员开荒者宣传达人原创大师签到达人

QQ
来自 3#
 楼主| 发表于 2020-3-22 16:14:04 | 只看该作者
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)

(上传时出错了这里补一个)
回复 支持 反对

使用道具 举报

6高级会员
1057/1100

1057

积分

12

主题

3

听众
已帮网友解决0 个问题
好评
0
贡献
1045
海币
1446
交易币
0

最佳新人

5#
发表于 2020-3-22 17:16:57 | 只看该作者
回复

使用道具 举报

6高级会员
805/1100

805

积分

11

主题

3

听众
已帮网友解决0 个问题
好评
0
贡献
794
海币
58
交易币
0
地板
发表于 2020-3-22 17:10:33 | 只看该作者

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)
回复 支持 反对

使用道具 举报

4中级会员
543/600

543

积分

79

主题

5

听众
已帮网友解决1 个问题
好评
-6
贡献
464
海币
1155
交易币
0

最佳新人推广达人热心会员开荒者宣传达人原创大师签到达人

QQ
沙发
 楼主| 发表于 2020-3-22 16:13:17 | 只看该作者
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)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免责声明|Archiver|手机版|小黑屋|挂海论坛

GMT+8, 2025-5-16 09:49 , Processed in 0.123803 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.2

本站资源来自互联网用户收集发布,如有侵权请邮件与我们联系处理。xhzlw@foxmail.com

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