Skip to content

PerGro/Python-small-projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python-small-projects

一些自己写的Python脚本集合

xuexitong-Master

###用来提供学习通快速下载上面的视频或者课件

食用方法:

1.确定好你的Python版本为3.7及以上(发布时还未出现Python4,因此不做Python4兼容的保证),必要的第三方库:selenium,tkinter,你可以简单地通过以下代码快速安装:

pip install selenium pip install tk

2.确保您的电脑上装有chrome,以及必要的chromedrive,这两者都要将对应的exe文件添加进入系统的环境变量。(该脚本默认暂不支持FireFox或者IE,不过本身也不复杂,经过简单修改后就能支持)

3.运行main.py,然后会弹出一个tk窗口,将要抓取的课件/视频的页面url复制到相应的框中,然后将自己的学习通账号、密码如实填入对应文本框。

4.接下来是给有一定编程能力的用户的建议:

在筛选条件那一栏中对应的是pdf或者视频的objectid,同时本身也是一个正则表达式,其抓取范围是在默认只有一个iframe表中(学习通的大部分学习界面都是一个大iframe嵌套好几个小iframe,默认抓取范围在大iframe中) 。其次,高级用户自定义中,iframes指的是嵌套的深度,因为我没遇到套中套(套两次),所以默认就是套一次了,然后wait_time是一个硬性的等待时间,虽然脚本中也设置了等待元素加载的时间,但为了保险故又加了个独立的系统等待时间: time.sleep(wait_time),然后tag_name故名思意指的就是要爬取的元素标签,tag_index这个是给定位标记的,比如学习通一次嵌套,在大iframe中有两个小iframe(有时候它虽然有三个小窗口,但是实际上iframe只能定位到两个), 第一个iframe是视频,第二个是课件,那么要抓视频就是[0],课件就是[1],此外若第二个小iframe中又套了三个小小iframe,如果想要抓取第二个小小iframe,那么就应该为[1, 1](以此类推)。

若在使用过程中发现任何BUG,请致信614756824@qq.com

写在最后:

1.该脚本不具备任何错误处理功能,最好防止翻车的办法就是等!等tk窗口恢复正常后继续使用!

2.没想出什么骚话,祝各位2021快乐!

About

一些自己写的Python脚本集合

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages