刷课,刷课

     公司的网上大学有不少的好课件,供大家学习。有时候,我也会在网上大学学习学习。

     可是,凡事都有度,这一段时间,我们要学天翼云知识,一共有13个专题,加起来有100多小时的课,还要求20号前学完,my god!这事儿做的有点过了,我和同事表达了极其的不满与愤慨。可冷静下来想想,还是要完成的,怎么办,刷课吧。

和同事用仅有的爬虫知识,做了个简单的程序。基本构想如下:

先把课程的每个网址爬出来,保存成txt文件,再做个程序,按行读网址,打开网址,停留50分钟,再读下一个网址。

爬网址程序如下:

from selenium import webdriver
import time

index_url = 'https://kc.zhixueyun.com/xxxxxxxx'

browser = webdriver.Chrome()
browser.get(index_url)
time.sleep(30)
page_text = browser.page_source ##获得html文本


def find_all(string,sub) :  ## 定义查找函数, 两个参数,一个是总字符串, 一个是要查找的字符串
    start = 0 ## 定义查找的起始位置
    pos = [] ## 定义空列表
    while True:  ## 设置循环条件
        start = string.find(sub,start)  ## 根据查找结果调整查找的起始位置
        if start == -1: ## 设置循环终止条件,即没有匹配字符串时, 循环终止
            return pos ## 返回所有的查找结果
        pos.append(start) ## 将每次查找到的字符串的起始索引添加至pos列表
        start += len(sub)  ## 当查找到字符时, 查找起始位置向后移动被字符串长度个单位


list_index=find_all(page_text,'data-resource-id=')  ##利用自定义函数查找指定子字符串
f=open('king.txt','a')  ##打开记录用的文本,以追加方式。
for list_num in list_index:  ##遍历位置集合
    str_list=str(page_text[list_num+18:list_num+54])  ##按照设定的偏移取子字符串
    ban_url='https://kc.zhixueyun.com/xxxxxxx'
    f.write(ban_url+str_list+'\n')  ##拼合url
f.close()

爬出的txt如下:

 

然后再写个python脚本:

 

# -*- coding: utf-8 -*-
import webbrowser as web #导入浏览器模块
import time #导入时间模块
import os #导入操作系统模块
import random #导入随机数模块
count = random.randint(2,4) #随机数为2到4次
j = 0

i = 0

file = open ("king.txt", "r")
file = file.readlines()
for line in file:
    web.open_new_tab(line)
    time.sleep(3000) #停留3000秒
    #print (line)
    #print(",")
file. Close ()   

测试OK。

把程序、txt等传到云桌面、云主机,执行。安逸的很。

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是一个简单的Python刷课代码的例子,使用了pyautogui库和win32api库: ```python import time import pyautogui import win32api import win32con # 设置窗口标题和坐标 window_title = '课件学习 - Google Chrome' hwnd = win32gui.FindWindow(win32con.NULL, window_title) if hwnd == 0: print('%s not found' % window_title) exit() else: print('hwnd = %x' % (hwnd)) window_left, window_top, window_right, window_bottom = win32gui.GetWindowRect(hwnd) # 点击播放按钮 play_button_x = window_left + 100 play_button_y = window_top + 100 win32api.SetCursorPos((play_button_x, play_button_y)) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, play_button_x, play_button_y, 0, 0) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, play_button_x, play_button_y, 0, 0) # 等待视频播放 time.sleep(10) # 暂停视频 pause_button_x = window_left + 100 pause_button_y = window_top + 100 win32api.SetCursorPos((pause_button_x, pause_button_y)) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, pause_button_x, pause_button_y, 0, 0) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, pause_button_x, pause_button_y, 0, 0) # 关闭窗口 close_button_x = window_right - 50 close_button_y = window_top + 10 win32api.SetCursorPos((close_button_x, close_button_y)) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, close_button_x, close_button_y, 0, 0) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, close_button_x, close_button_y, 0, 0) ``` 该代码可以实现自动打开指定窗口并播放视频,然后暂停视频并关闭窗口。你可以根据自己的需要修改代码中的窗口标题和坐标,以及点击的按钮坐标。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值