精华内容
下载资源
问答
  • c上网课技术代码讲解

    2021-04-27 11:45:20
    主要由浏览器+插件形式实现辅助看答题 完全模拟人工操作,适用于U校园平台 打开登录即可使用,不用在另外做配置 二、主要功能 登录后自动寻找为完成任务点自动完成 自动答题,自动切换下一任务点,可设置...

    一、代码脚本系列教程
    下载链接:https://wwr.lanzous.com/iko84ok4yda    密码:6z9c

    二、脚本部分脚本代码展示

    _self = unsafeWindow,
    url = location.pathname,
    top = _self;
     
    if (frameElement) document.domain = location.host.replace(/.+?\./, '');
     
    try {
        while (top != _self.top) top = top.parent.document ? top.parent : _self.top;
    } catch (err) {
        // console.log(err);
        top = _self;
    }
     
    var $ = _self.jQuery || top.jQuery,
    parent = _self == top ? self : _self.parent,
    Ext = _self.Ext || parent.Ext || {},
    UE = _self.UE,
    Hooks = Hooks || window.Hooks;
     
    setting.normal = ''; // ':visible'
    // setting.time += Math.ceil(setting.time * Math.random()) - setting.time / 2;
    // setting.wait += Math.ceil(setting.wait * Math.random()) - setting.time / 2;
     
    setting.job = [
        ':not(*)'
        ,'iframe[src*="/video/index.html"]'
        ,'iframe[src*="/work/index.html"]'
        ,'iframe[src*="/audio/index.html"]'
        ,'iframe[src*="/innerbook/index.html"]'
        ,'iframe[src*="/ppt/index.html"]'
        ,'iframe[src*="/pdf/index.html"]'
    ];
    setting.tip = top != _self && jobSort($ || Ext.query);
     
    if (url == '/ananas/modules/video/index.html') {
        if (setting.video) {
            if (setting.review) _self.greenligth = Ext.emptyFn;
            checkPlayer();
        } else {
            getIframe().remove();
        }
    } else if (url == '/work/doHomeWorkNew' || url == '/api/work' || url == '/work/addStudentWorkNewWeb') {
        if (!UE) {
            var len = ($ || Ext.query || Array)('font:contains(未登录)', document).length;
            setTimeout(len == 1 ? top.location.reload : parent.greenligth, setting.time);
        } else if (setting.work) {
            setTimeout(relieveLimit, 0);
            beforeFind();
        } else {
            getIframe().remove();
        }
    } else if (url == '/ananas/modules/audio/index.html') {
        if (setting.audio) {
            if (setting.review) _self.greenligth = Ext.emptyFn;
            hookAudio(_self.videojs, _self.videojs.xhr);
        } else {
            getIframe().remove();
        }
    } else if (url == '/ananas/modules/innerbook/index.html') {
        setting.book ? setTimeout(bookRead, setting.time) : getIframe().remove();
    } else if (url.match(/^\/ananas\/modules\/(ppt|pdf)\/index\.html$/)) {
        setting.docs ? setTimeout(docsRead, setting.time) : getIframe().remove();
    } else if (url == '/knowledge/cards') {
        $ && checkToNext();
    } else if (url.match(/^\/(course|zt)\/\d+\.html$/)) {
        setTimeout(function() {
            setting.read && _self.sendLogs && $('.course_section:eq(0) .chapterText').click();
        }, setting.time);
    } else if (url == '/ztnodedetailcontroller/visitnodedetail') {
        setting.read && _self.sendLogs && autoRead();
    } else if (url == '/mycourse/studentcourse') {
        var gv = location.search.match(/d=\d+&/g);
        setting.total && $('<a>', {
            href: '/moocAnalysis/chapterStatisticByUser?classI' + gv[1] + 'courseI' + gv[0] + 'userId=' + _self.getCookie('_uid') + '&ut=s',
            target: '_blank',
            title: '点击查看章节统计',
            style: 'margin: 0 25px;',
            html: '本课程共' + $('.icon').length + '节,剩余' + $('em:not(.openlock)').length + '节未完成'
        }).appendTo('.zt_logo').detach(setting.safe ? '*' : 'html').parent().width('auto');
        setting.course && setTimeout(goCourse, setting.time);
    } else if (url.match(/^\/visit\/(courses|interaction)$/)) {
        setting.face && DisplayURL();
    } else if (location.host.match(/^passport2/)) {
        setting.login && getSchoolId();
    } else if (url == '/work/selectWorkQuestionYiPiYue') {
        submitAnswer(getIframe().parent(), $.extend(true, [], parent._data));
    }
     
    function getIframe(tip, win, job) {
        if (!$) return Ext.get(frameElement || []).parent().child('.ans-job-icon') || Ext.get([]);
        do {
            win = win ? win.parent : _self;
            job = $(win.frameElement).prevAll('.ans-job-icon');
        } while (!job.length && win.parent.frameElement);
        return tip ? win : job;
    }
     
    function jobSort($) {
        var fn = $.fn ? [getIframe(1), 'length'] : [self, 'dom'],
        sel = setting.job.join(', :not(.ans-job-finished) > .ans-job-icon' + setting.normal + ' ~ ');
        if ($(sel, fn[0].parent.document)[0] == fn[0].frameElement) return true;
        if (!getIframe()[fn[1]] || getIframe().parent().is('.ans-job-finished')) return null;
        setInterval(function() {
            $(sel, fn[0].parent.document)[0] == fn[0].frameElement && location.reload();
        }, setting.time);
    }
     
    function checkPlayer() {
        var data = Ext.decode(_self.config('data')),
        danmaku = data && data.danmaku ? data.danmaku : 0;
        if (setting.player == 'flash') {
            _self.showHTML5Player = _self.showMoocPlayer;
            danmaku = 1;
        } else if (setting.player == 'html5') {
            _self.showMoocPlayer = _self.showHTML5Player;
            danmaku = 0;
        }
        if (!danmaku && _self.supportH5Video() && !navigator.userAgent.match(/metasr/i)) {
            if (setting.phone) Ext.isIos = Ext.isAndroid = false;
            hookVideo(_self.videojs, _self.videojs.xhr);
        } else if (_self.flashChecker().hasFlash) {
            hookJQuery();
        } else {
            alert("此浏览器不支持flash,请修改脚本player参数为'html5',或者更换浏览器");
        }
    }
     
    function hookVideo(Hooks, xhr) {
        _self.videojs = function() {
            _self.videojs = Hooks;
            var config = arguments[1],
            line = Ext.Array.filter(Ext.Array.map(config.playlines, function(value, index) {
                return value.label == setting.line && index;
            }), function(value) {
                return Ext.isNumber(value);
            })[0] || 0,
            http = Ext.Array.filter(config.sources, function(value) {
                return value.label == setting.http;
            })[0];
            config.playlines.unshift(config.playlines[line]);
            config.playlines.splice(line + 1, 1);
            config.plugins.videoJsResolutionSwitcher.default = http ? http.res : 360;
            config.plugins.studyControl.enableSwitchWindow = 1;
            config.plugins.timelineObjects.url = '/richvideo/initdatawithviewer?';
            if (setting.drag) {
                config.plugins.seekBarControl.enableFastForward = 1;
                config.playbackRates = [1, 1.25, 1.5, 2];
            }
            // config.preload = setting.tip ? 'auto' : 'none';
            var player = Hooks.apply(this, arguments);
            player.children_[0].muted = setting.muted;
            player.on('loadstart', function() {
                setting.tip && this.play().catch(Ext.emptyFn);
            });
            player.on('ended', function() {
                Ext.fly(frameElement).parent().addCls('ans-job-finished');
            });
            _self.videojs.xhr = setting.login ? function(options, callback) {
                return xhr.call(this, options, function(error, response) {
                    response.statusCode || top.location.reload();
                    return callback.apply(this, arguments);
                });
            } : xhr;
            return player;
        };
    }
     
    function hookJQuery() {
        Hooks.set(_self, 'jQuery', function(target, propertyName, ignored, jQuery) {
            Hooks.method(jQuery.fn, 'cxplayer', function(target, methodName, method, thisArg, args) {
                var that = this,
                // events = Ext.clone(config.events),
                config = args[0];
                config.events.onStart = function() {
                    for (var i = 0; i < 16; i++) setting.muted && that.addVolNum(false);
                    // events.onStart();
                };
                config.events.onEnd = function() {
                    Ext.fly(frameElement).parent().addCls('ans-job-finished');
                    // events.onEnd();
                };
                config.datas.isDefaultPlay = setting.tip || false;
                config.enableSwitchWindow = 1;
                config.datas.currVideoInfo.resourceUrl = '/richvideo/initdatawithviewer?';
                config.datas.currVideoInfo.dftLineIndex = Ext.Array.filter(Ext.Array.map(decodeURIComponent(config.datas.currVideoInfo.getVideoUrl).match(/{.+?}/g) || [], function(value, index) {
                    return value.match(setting.line + setting.http) && index;
                }), function(value) {
                    return Ext.isNumber(value);
                })[0] || 0;
                if (setting.drag) config.datas.currVideoInfo.getVideoUrl = config.datas.currVideoInfo.getVideoUrl.replace(/&drag=false&/, '&drag=true&');
                return Hooks.Reply.method(arguments);
            });
            return Hooks.Reply.set(arguments);
        });
    }
     
    function hookAudio(Hooks, xhr) {
        _self.videojs = function() {
            _self.videojs = Hooks;
            var config = arguments[1];
            config.plugins.studyControl.enableSwitchWindow = 1;
            if (setting.drag) config.plugins.seekBarControl.enableFastForward = 1;
            var player = Hooks.apply(this, arguments);
            player.children_[0].muted = setting.muted;
            player.on('loadeddata', function() {
                setting.tip && this.play().catch(Ext.emptyFn);
            });
            player.on('ended', function() {
                Ext.fly(frameElement).parent().addCls('ans-job-finished');
            });
            _self.videojs.xhr = setting.login ? function(options, callback) {
                return xhr.call(this, options, function(error, response) {
                    response.statusCode || top.location.reload();
                    return callback.apply(this, arguments);
                });
            } : xhr;
            return player;
        };
    }
     
    function bookRead() {
        if (_self.setting) return setting.tip && top.onchangepage(_self.getFrameAttr('end'));
        setting.tip && Ext.fly(frameElement).parent().addCls('ans-job-finished');
    }
     
    function docsRead() {
        if (_self.setting) return setting.tip && _self.finishJob();
        setting.tip && Ext.fly(frameElement).parent().addCls('ans-job-finished');
    }
     
    function relieveLimit() {
        if (setting.scale) _self.UEDITOR_CONFIG.scaleEnabled = false;
        $('script').prev('textarea').each(function(index, value) {
            UE.getEditor(this.name).ready(function() {
                this.destroy();
                UE.getEditor(value.name).addListener('beforepaste', _self.myEditor_paste);
            });
        });
        if (!setting.paste && _self.allowPaste == '1') return;
        $('input[onpaste]').removeAttr('onpaste');
        _self.myEditor_paste = $.noop;
        // _self.pasteText = function() {return true};
    }
     
    function beforeFind() {
        if ($.type(parent._data) == 'array') return getIframe().remove();
        setting.div = $(
            '<div style="border: 2px dashed rgb(0, 85, 68); width: 330px; position: fixed; top: 0; right: 0; z-index: 99999; background-color: rgba(70, 196, 38, 0.6); overflow-x: auto;">' +
                '<span style="font-size: medium;"></span>' +
                '<div style="font-size: medium;">正在搜索答案...</div>' +
                '<button style="margin-right: 10px;">暂停答题</button>' +
                '<button style="margin-right: 10px;">' + (setting.auto ? '取消本次自动提交' : '开启本次自动提交') + '</button>' +
                '<button style="margin-right: 10px;">重新查询</button>' +
                '<button>折叠面板</button>' +
                '<div style="max-height: 300px; overflow-y: auto;">' +
                    '<table border="1" style="font-size: 12px;">' +
                        '<thead>' +
                            '<tr>' +
                                '<th style="width: 25px; min-width: 25px;">题号</th>' +
                                '<th style="width: 60%; min-width: 130px;">题目(点击可复制)</th>' +
                                '<th style="min-width: 130px;">答案(点击可复制)</th>' +
                            '</tr>' +
                        '</thead>' +
                        '<tfoot style="display: none;">' +
                            '<tr>' +
                                '<th colspan="3">答案提示框 已折叠</th>' +
                            '</tr>' +
                        '</tfoot>' +
                        '<tbody>' +
                            '<tr>' +
                                '<td colspan="3" style="display: none;"></td>' +
                            '</tr>' +
                        '</tbody>' +
                    '</table>' +
                '</div>' +
            '</div>'
        ).appendTo('body').on('click', 'button, td', function() {
            var len = $(this).prevAll('button').length;
            if (this.nodeName == 'TD') {
                $(this).prev().length && GM_setClipboard($(this).text());
            } else if (len === 0) {
                if (setting.loop) {
                    clearInterval(setting.loop);
                    delete setting.loop;
                    len = ['已暂停搜索', '继续答题'];
                } else {
                    setting.loop = setInterval(findAnswer, setting.time);
                    len = ['正在搜索答案...', '暂停答题'];
                }
                setting.div.children('div:eq(0)').html(function() {
                    return $(this).data('html') || len[0];
                }).removeData('html');
                $(this).html(len[1]);
            } else if (len == 1) {
                setting.auto = 1 ^ setting.auto;
                $(this).html(setting.auto ? '取消本次自动提交' : '开启本次自动提交');
            } else if (len == 2) {
                parent.location.reload();
            } else if (len == 3) {
                setting.div.find('tbody, tfoot').toggle();
            }
        }).detach(setting.safe ? '*' : 'html');
        setting.lose = setting.num = 0;
        setting.data = parent._data = [];
        setting.curs = $('script:contains(courseName)', top.document).text().match(/courseName:\'(.+?)\'|$/)[1] || $('h1').text().trim() || '无';
        setting.loop = setInterval(findAnswer, setting.time);
        var tip = ({'undefined': '任务点排队中', 'null': '等待切换中'})[setting.tip];
        tip && setting.div.children('div:eq(0)').data('html', tip).siblings('button:eq(0)').click();
    }
     
    function findAnswer() {
        if (setting.num >= $('.TiMu').length) {
            var arr = setting.lose ? ['共有 <font color="red">' + setting.lose + '</font> 道题目待完善(已深色标注)', saveThis] : ['答题已完成', submitThis];
            setting.div.children('div:eq(0)').data('html', arr[0]).siblings('button:eq(0)').hide().click();
            return setTimeout(arr[1], setting.wait);
        }
        var $TiMu = $('.TiMu').eq(setting.num),
        question = filterImg($TiMu.find('.Zy_TItle:eq(0) .clearfix')).replace(/^【.*?】\s*/, ''),
        type = $TiMu.find('input[name^=answertype]:eq(0)').val() || '-1',
        option = setting.token && $TiMu.find('.clearfix ul:eq(0) li .after').map(function() {
            return filterImg(this);
        }).filter(function() {
            return this.length;
        }).get().join('#');
        GM_xmlhttpRequest({
            method: 'POST',
            url: 'http://mooc.forestpolice.org/cx/' + (setting.token || 0) + '/' + encodeURIComponent(question),
            headers: {
                'Content-type': 'application/x-www-form-urlencoded'
            },
            data: 'course=' + encodeURIComponent(setting.curs) + '&type=' + type + '&option=' + encodeURIComponent(option),
            timeout: setting.time,
            onload: function(xhr) {
                if (!setting.loop) {
                } else if (xhr.status == 200) {
                    var obj = $.parseJSON(xhr.responseText) || {};
                    if (obj.code) {
                        setting.div.children('div:eq(0)').text('正在搜索答案...');
                        obj.data = filterImg($('<p></p>').append(obj.data).not('script'));
                        $(
                            '<tr>' +
                                '<td style="text-align: center;">' + $TiMu.find('.Zy_TItle:eq(0) i').text().trim() + '</td>' +
                                '<td title="点击可复制">' + question + '</td>' +
                                '<td title="点击可复制">' + (/^http/.test(obj.data) ? '<img src="' + obj.data + '">' : '') + obj.data + '</td>' +
                            '</tr>'
                        ).appendTo(setting.div.find('tbody')).css('background-color', fillAnswer($TiMu.find('ul:eq(0) li'), obj, type) ? '' : 'rgba(0, 150, 136, 0.6)');
                        setting.data[setting.num++] = {
                            code: obj.code > 0 ? 1 : 0,
                            question: question,
                            option: obj.data,
                            type: Number(type)
                        };
                    } else {
                        setting.div.children('div:eq(0)').html(obj.data || '服务器繁忙,正在重试...');
                    }
                    setting.div.children('span').html(obj.msg || '');
                } else if (xhr.status == 403) {
                    setting.div.children('button:eq(0)').click();
                    setting.div.children('div:eq(0)').text('请求过于频繁,建议稍后再试');
                } else {
                    setting.div.children('div:eq(0)').text('服务器异常,正在重试...');
                }
            },
            ontimeout: function() {
                setting.loop && setting.div.children('div:eq(0)').text('服务器超时,正在重试...');
            }
        });
    }
     
    function fillAnswer($li, obj, type) {
        var $input = $li.find(':radio, :checkbox'),
        data = String(obj.data).split(/#|\s*\x01\s*|\|/),
        state = setting.lose;
        // $li.find(':radio:checked').prop('checked', false);
        obj.code > 0 && $input.each(function(index) {
            if (this.value == 'true') {
                /(^|#)(正确|是|对|√)(#|$)/.test(obj.data) && this.click();
            } else if (this.value == 'false') {
                /(^|#)(错误|否|错|×)(#|$)/.test(obj.data) && this.click();
            } else {
                var tip = filterImg($li.eq(index).find('.after')) || new Date().toString();
                Boolean($.inArray(tip, data) + 1 || (type == '1' && String(obj.data).match(tip))) == this.checked || this.click();
            }
        }).each(function() {
            if (!/^[A]?[B]?[C]?[D]?[E]?[F]?[G]?$/.test(obj.data)) return false;
            Boolean(String(obj.data).match(this.value)) == this.checked || this.click();
        });
        if (type.match(/^[013]$/)) {
            $input.is(':checked') || (setting.none ? ($input[Math.floor(Math.random() * $input.length)] || $()).click() : setting.lose++);
        } else if (type.match(/^(2|[4-9]|1[08])$/)) {
            (obj.code > 0 && data.length == $li.length) || setting.none || setting.lose++;
            state == setting.lose && $li.each(function(index, dom) {
                data[index] = (obj.code > 0 && data[index]) || '不会';
                dom = $('.inp', this).filter(':visible').val(data[index]).end().is(':hidden') ? $(this).next() : dom;
                $('.edui-default + textarea', dom).each(function() {
                    UE.getEditor(this.name).setContent(data[index]);
                });
            });
        } else {
            setting.none || setting.lose++;
        }
        return state == setting.lose;
    }
     
    function saveThis() {
        if (!setting.auto) return setTimeout(saveThis, setting.time);
        setting.div.children('button:lt(3)').hide().eq(1).click();
        _self.alert = console.log;
        $('#tempsave').click();
        getIframe().parent().addClass('ans-job-finished');
    }
     
    function submitThis() {
        if (!setting.auto) {
        } else if (!$('.Btn_blue_1:visible').length) {
            setting.div.children('button:lt(3)').hide().eq(1).click();
            return getIframe().parent().addClass('ans-job-finished');
        } else if ($('#validate:visible', top.document).length) {
        } else if ($('#confirmSubWin:visible').length) {
            var btn = $('#tipContent + * > a').offset() || {top: 0, left: 0},
            mouse = document.createEvent('MouseEvents');
            btn = [btn.left + Math.ceil(Math.random() * 46), btn.top + Math.ceil(Math.random() * 26)];
            mouse.initMouseEvent('click', true, true, document.defaultView, 0, 0, 0, btn[0], btn[1], false, false, false, false, 0, null);
            _self.event = $.extend(true, {}, mouse);
            delete _self.event.isTrusted;
            _self.form1submit();
        } else {
            $('.Btn_blue_1')[0].click();
        }
        setTimeout(submitThis, Math.ceil(setting.time * Math.random()) * 2);
    }
     
    function checkToNext() {
        var $tip = $('.ans-job-icon' + setting.normal, document);
        $tip = setting.check ? $tip : $tip.nextAll(setting.job.join(', ')).prevAll('.ans-job-icon');
        setInterval(function() {
            $tip.parent(':not(.ans-job-finished)').length || setting.jump && toNext();
        }, setting.time);

     

    展开全文
  • 各大新闻媒体,各个网络平台都在报道着每天疫情动态,看着每天新增确诊病例,不断加深颜色疫情地图,真是牵动着每个中国人心。“中国加油,武汉加油”标语随处可见。为了响应号召,我们都待在家里,不出门...

    提起2020年的春节,每个中国人都刻骨铭心。“新冠肺炎”让我们每个人都谈虎色变。各大新闻媒体,各个网络平台都在报道着每天的疫情动态,看着每天新增的确诊病例,不断加深颜色的疫情地图,真是牵动着每个中国人的心。“中国加油,武汉加油”的标语随处可见。为了响应号召,我们都待在家里,不出门,勤洗手,有事出门戴口罩。

    时间一天天过去,新闻里不断传来好消息,国内疫情得到了很好的控制。我们居家抗疫一个多月了,终于盼来了开学的日子。由于疫情还没有完全得到控制,为确保师生安全,我们延期复学。党和国家为全国的小、中、大学生免费推送网课,我们开始在家线上学习。

    在这“延长”的假期里,我们开启了“宅家学”模式。我猜测,网课学习可能让游戏迷、学生党纷纷窃喜,也可能让学霸们弯道超车。我坚决不做游戏迷,于是我每天劳逸结合,白天上网课写作业,晚上按时睡觉休息,我暗暗下定决心:我要做学习上弯道超车的一匹黑马。

    为了保护我的视力,我没有用爷爷奶奶的智能手机上课,而是用平板电脑听课。周一到周五的每天早上8点,我准时晨读英语,9点准时坐在电脑旁边,认真聆听网上老师讲课。课上,我认真记笔记。课后,我及时巩固所学的的知识。

    通过一段时间的网课学习,我发现了一个秘密,比如:一节课某部分内容如果你没有听明白,可以看回放再次听老师讲一遍,直到我们听懂为止;看回放的过程中,如果我觉得课堂老师所给的思考时间不够,我就按下暂停键,思考后在本子上正确解答,然后按下播放键,检验我做题是否正确。我把自己的新发现高兴地告诉奶奶,奶奶笑着夸我聪明呢!当然,即使听懂了网课内容,在我们解决实际问题时还会遇到障碍,老师每天晚上6点和我们相约答疑课堂,根据老师线上答疑和跟踪指导,我完全理解了所学的知识。悄悄告诉你:网课学习我收获满满,丝毫没有耽误我的学业哦!

    在班级钉钉群里,偶尔有同学没按时交作业,老师开班会直播课说:“同学们,你们在屏幕的那边,我看不见你们,网上学习全靠自律……”我很奇怪:不及时提交作业的同学是家长没及时督促吗?你们为什么不制定学习计划呢?让爸爸妈妈看看你制定的计划是否可行,监督你按计划学习和锻炼。你们作为小学生,对事情的轻重缓急不分吗?我的爷爷每天都会陪着我听课,写作业,我不明白的题爷爷还能给我讲讲呢。我完成作业的剩余时间里,爷爷带着我锻炼身体。现在的我真是学习、锻炼两不误啊!

    以前我读书时看到一句话:自律者出众!不自律者出局!学习是一个人终生要做的功课,无论你多大了,都需要不断地学习。我们只有努力学习,让自己强大,才能勇敢地迎接生活的挑战,成为生活的强者。同学们,珍惜网课的时光吧,让我们自律学习,超越自我,心向阳光,心向美好的未来前进。

    作文评语:

    小作者写出不能复学上网课的起因、上网课的过程及网课学习的收获,语句通顺,段落分明,围绕中心来描写,内容朴实。文中插叙同学不及时提交作业时你的心理描写,侧面衬托了你的学习态度,符合孩子的心态。通过对比,表现了你认真对待网课,学有所得,学以致用,表现手法很好!

    祝你在网课学习中“长风破浪会有时,直挂云帆济沧海。”愿你成为五年四班学习先锋中的一匹黑马。

    展开全文
  • 自从同学用Python开发出了自动搜索答案后,每次网课(选修)他都在玩游戏,而我们作死在百度搜答案!   学习Python中有不明白推荐加入交流裙  号:735934841  群里有志同道合小伙伴...使用平台 windows7...

    自从同学用Python开发出了自动搜索答案后,每次网课(选修)他都在玩游戏,而我们作死的在百度搜答案!

    用python实现自动搜索答题,上网课轻松不挂科!

     

    学习Python中有不明白推荐加入交流裙
                    号:735934841
                    群里有志同道合的小伙伴,互帮互助,
                    群里有免费的视频学习教程和PDF!

    下面我也来试一试

    使用平台

    windows7

    python3.6

    MIX2手机

    用python实现自动搜索答题,上网课轻松不挂科!

     

    1、使用Airdroid 将手机屏幕显示在电脑屏幕上。

    用python实现自动搜索答题,上网课轻松不挂科!

     

    用python实现自动搜索答题,上网课轻松不挂科!

     

    用python实现自动搜索答题,上网课轻松不挂科!

     

    这里要用到两个函数:

    get_point() #采集要截图的坐标,以及图片的高度宽度

    window_capture() #截图

    用python实现自动搜索答题,上网课轻松不挂科!

     

    用python实现自动搜索答题,上网课轻松不挂科!

     

    Python程序运行后截图如下:

    用python实现自动搜索答题,上网课轻松不挂科!

     

    用python实现自动搜索答题,上网课轻松不挂科!

     

    全部的Python源代码:

    用python实现自动搜索答题,上网课轻松不挂科!

     

    想要源码的小伙伴可以私信小编哦~

    展开全文
  • 前言 话说这次寒假在家实在闲得无聊,就根据自己专业...正式开课之前,各科老师纷纷让装各种直播平台,每个老师都有两三种直播方案,以免在直播过程中出现平台卡顿甚至崩溃现象,正好我便把他们一个一个安装了...

    前言

    话说这次寒假在家实在闲得无聊,就根据自己专业的特点,疯狂的在电脑上安装以后可能用得到的软件,比如:PyChrome、DW、MATLAB、MySQL、Tomcat... 在这里就不一一列举了。虽然都装上了,但哪里用的着呢?无非就是打发打发时间罢了。正式开课之前,各科老师纷纷让装各种直播平台,每个老师都有两三种直播方案,以免在直播过程中出现平台卡顿甚至崩溃的现象,正好我便把他们一个一个的安装了下来,顿时满满的成就感,于是就等上课了,心想开课之后就没那么无聊了。但好景不长,天不遂人愿,就在开课的前一天,我的系统崩溃了!!!

    具体症状当时没有拍照记录下来,不过记得很清楚,就是开机之后他就显示:您的电脑遇到问题,需要自动修复...正在尝试自动修复...自动修复失败!靠!然后就会卡到那个界面,让你选择高级选项还是关机/重新启动。我试了无数次,也在网上遍求解决办法,但最终还是没能解决我的问题,心中不免有些失落。最终还是联系了下戴尔客服,先检测了一下硬件,显示No problem...然后客服建议还原系统,我傻了...还原不就意味着重装吗?不过相比于现在进不去windows我还是觉得还原了系统更好一点。正好我现在的系统是未激活的状态,还原就还原吧!于是就按着客服的提示一顿操作,之后就是等待、配置、安装成功。当然,这个不算是重装系统啦,只是win10自带的系统还原。之后就又开始无休止的装软件...

    有了这次经历,胆子变得稍微大了一点,对于电脑的一些问题,不是搁置不管,而是主动寻求解决办法,无数次的尝试,即使失败,也是经验的累积。这不,家里的台式机恰好系统也崩了,要原来碰到这种情况,肯定第一时间想找维修人员,但现在正值疫情期间,谁会来给你修,当然得靠自己啦,于是我便想正好练练手,重装一下系统。

    当然,win7也可以还原系统(不过有一个前提,如果你的电脑死机、蓝屏、开不了机,还原的方法基本无效,这时就需要重装了),具体还原方法可以参照链接:http://www.xitongzu.com/jc/25339.html

    我家那台台式机,直接就是进入系统后黑屏,什么都点不了,而且会蹦出一大堆广告,于是我就选择了重装系统。

    重装系统过程(以win7为例,win8和win10类似)

    1.前期准备

    一个空U盘(最好不小于8G)、一台可以上网的电脑、一份详细教程(嘿嘿)

    2.系统及软件下载

    下载一个正版的win7系统,搜索“msdn我告诉你”,这个网站上的系统都是正版纯净的,可以安心下载。链接直达:——>https://msdn.itellyou.cn

    在这里,选择系统版本的时候看自己具体情况,图上选择的系统内含有好几个版本,在安装的时候可以根据需要自行选择。

    系统下载过程中,我们还需要准备一个驱动软件安装包,因为win7不支持连接无线网,所以在安装了系统之后,是没有网卡驱动的,也就连不上网。这里推荐用360驱动大师(网卡版),记住,一定得是网卡版,他可以在不联网的情况下扫描你的驱动,可以离线安装网卡驱动,安装完成后就可以正常上网了。链接直达:——>http://weishi.360.cn/qudongdashi/

    至此,我们需要的系统和软件就备好啦!

    3.启动盘制作

    大家或许都知道,重装系统是需要做启动盘的,那么启动盘在这里具体是干嘛用的呢?以我的理解呢,就是启动盘相当于一个系统的中转站,可以将一个新的系统送到电脑的磁盘里,使电脑可以正常运行。当然了,通过这次经历发现,启动盘的作用可不止于此。他还可以做很多事情,比如:在格式化磁盘之前备份数据、在电脑出现一些小问题的时候也可以用它解决、还可以给电脑磁盘分区、杀毒、甚至当开机密码忘记也可以用它清除密码(这个划重点啦!不要以为电脑设置密码就有多安全,一个小小的启动盘轻松搞定)等等。

    通过搜索发现,制作启动盘的软件简直太多(比如:微PE、大白菜、老毛桃、电脑店),其实各有各的优点和缺点,就看自己比较倾向于哪一种了。

    在这里,我用的是微PE,其他的也可以,这个看自己个人喜好。链接直达——>http://www.wepe.com.cn/download.html

    下载完之后,插上U盘(一定要是空的,在制作启动盘的时候,会清空盘里的东西,防止数据丢失,提前备份一下),然后点击下载好的微PE,选择U盘,这时它会自动识别电脑上的U盘,然后其它保持默认,直接点击制作就好。

    然后等待制作完成,会发现U盘又分出一个空间,这个不到1G的空间里就装着一个小小的系统。然后剩下的空间存放刚才下好的系统和360驱动大师安装包,一个启动盘就制作完成啦!

    4.重装系统(以戴尔为例)

    重头戏来啦!!!

    这里先科普一下:

    (1)DELL,开机按下F2,就可以进入BIOS中,进入设置BIOS的参数,比如时间,硬盘模式,启动项,恢复出厂值等等。

    (2)开机按下F12键,这个键代表快速启动项选择菜单,也就是说不用进BIOS,就可以更改启动项的设置,特别是用光盘或者U盘重装系统,就特别要用到这个功能,而且它还有一个优势就是只对当前有效,重启就无效。

    当然,不同型号的电脑进入的方式是不一样的,这个可以根据自己电脑型号查找。在开始重装之前,可能还需要修改BIOS里的两个参数,不过一般情况下是不用修改的,除非一些年代久远的计算机。这个具体如何修改可以参照下方视频链接,或者自己百度搜索:重装系统前的BIOS设置,不同型号的计算机设置略有不同。

    之后就关机,插上U盘,开机,出现戴尔logo后狂按F12,进入启动项选择菜单,这里就可以看到我们的USB设备,方向键选择第一个带USB的选项,回车进入,这时就进入到我们刚才安装的win微PE系统了。这时,你可以在桌面上看到很多工具,类似这张图(当时没有截图,在网上找的图片,不过是一样的)

    在这里,你可以备份数据,或者重新给磁盘分区,等等一些操作。之后将C盘格式化,点击Windows安装器。上方选择win7\win8\win10,然后选择系统,但是这时候你会发现,U盘里没有他让选择的文件。莫慌,其实它在那个镜像压缩文件里,把里边的文件提取到一个磁盘的根目录里,然后点开sources文件夹,就可以看到install.wim文件了,之后选择驱动器安装位置,除了C盘都可以,再选择系统安装位置:C盘,点击开始安装。之后,就是漫长的等待过程......

    最后,一个崭新纯净的系统就安装完成啦!(开森~~~)

    对装好的系统进行简单配置

    1.网卡驱动

    系统装完之后是连不上网的,此时将U盘重新插上,然后将360驱动大师安装到电脑上,扫描驱动并下载网卡驱动,即可联网。

    2.取消自动更新

    打开控制面板,选择系统和安全,选择Windows Update,在里边取消自动更新。

    3.安装完成后,屏幕分辨率调不好,无法铺满整个屏幕

    缺少显卡驱动,联网后使用360驱动大师扫描驱动,安装缺少的显卡驱动,重启即可恢复。

    4.桌面没有此电脑图标

    右击——>个性化——>更改桌面图标——>勾选此电脑——>点击确定,即可在桌面看到图标。

    重装过程中遇到的问题

    进入PE系统后,本来想着把电脑磁盘分区重新分一下,结果不小心点成了U盘,把启动盘分了下区,格式化了一下,mygod!,我真是个天才!然后我准备重新向U盘里拷贝系统和安装包,可当把U盘再次插到电脑上时,竟然出故障了,,

    当时我很慌,以为U盘坏了,在网上遍寻解答,未果,毕竟我想也不会有人如我一样手残。于是就自己试了试,结果能用了。

    方法:右击此电脑——>管理——>磁盘管理

    此时会看到我们的U盘处于未分配状态,之后右击未分配区域,选择,新建简单卷,然后根据设置向导进行设置即可.

    设置完成后,我的U盘便一如从前,又变回一个纯净的空U盘,哈哈,然后开始第二遍制作启动盘操作......

    虽然在大神眼里,重装系统不算什么难事,但毕竟是自己第一次成功的经历,心里满满的成就感。

    原文链接:https://www.cnblogs.com/eternal-pig/p/Windows.html,作者:eternal_pig

    希望能够给同样初学编程的同学一点经验和事例的鼓励,同样也感谢原作者的分享,希望能在编程的道路上越走越远。

    结束语:编程源于兴趣,兴趣忠于能会,能会忠于勤学。如果你有兴趣,不妨一起共进,学习不缺兴趣,重要的是你去发现。喜欢C/C++可以关注博主一起成长。微信公众号:C语言编程学习基地

    展开全文
  • 现在很多单位,都积极响应全民学习,所以很多时候都在班后时间让员工在网络学院进行学习,俗称上网课。平时工作都已经这么累了,下班回家,我只想葛优躺,然后刷想看剧。或者跟朋友约约约,玩玩玩。于是想着写一...
  • 爬取教学立方上pdf

    2020-03-24 22:24:26
    教学立方是一个辅助上网课的平台,老师可以在上面发布课程相关的pdf,但是有时候老师并不会给文件设置下载。本文运用python以一个并不算简便的方法爬取教学立方上的pdf。
  • 第一节 (1).NET平台,2002年6月22日 微软正式发布.net 任何时间任何地点通过任何设备...中国移动提供互联网平台(.net),分布各地信号塔(.net framework框架),移动手机 打电话 发短信 上网(基于.net平台
  • 一、前言最近钉钉火了,因为疫情影响,钉钉被教育部选为给学生用来在线上网课的平台,本以为自己因为业务过硬得到官方的认可,是2020上天选中的宠鹅,万万没想到到由于小学生不爽被占用寒假时间上...
  • 一、前言最近钉钉火了,因为疫情影响,钉钉被教育部选为给学生用来在线上网课的平台,本以为自己因为业务过硬得到官方的认可,是2020上天选中的宠鹅,万万没想到到由于小学生不爽被占用寒假时间上...
  • 当代儿童大多喜欢看动漫、玩游戏,学习时注意力不集中,因为学习没有太多乐趣,...当代少年儿童对手机、电脑操作往往比成年人还熟练,在线教育平台搭建,可以让学生在任何地方都能通过电脑、手机上网学习。  
  • 请多多关照今年年初的疫情确实有点突然,打乱了上半年的所有计划(本来是校内大佬带我拿奖的时刻,没了,学长毕业了,就剩下我这个小垃圾带着下一届去搞ctf了,难啊,难啊)0x01这个站是我疫情时候在线上网课的平台,...
  • 一、前言最近钉钉火了,因为疫情影响,钉钉被教育部选为给学生用来在线上网课的平台,本以为自己因为业务过硬得到官方的认可,是2020上天选中的宠鹅,万万没想到到由于小学生不爽被占用寒假时间上课,于是集体出征在...
  • 记者调查发现,虎牙、斗鱼等网络平台利用免费提供的上网课渠道,向未成年人推广网络游戏。8日晚,虎牙等涉事平台回应,已下架相关广告。孩子上网课时买游戏装备和打赏花了3万多元5月初,江苏南通陈女士在消费时...
  • 1、直接通过“我南京”APP,扫码登录2、带身份证原件、社保卡原件去就近社保中心柜台开通“南京市人力资源和社会保障局公共服务平台”账号。开通之后,账号是固定,社保卡号前十位。密码由柜台人员随机生成....
  • 如今只是付费已经被大众所接受,网校教育平台的搭建,也受到关注,教育平台搭建支持音频、视频等多种内容形式,供想要学习新技能人选择,...但如果系统总是卡顿崩溃,就会导致上网课很麻烦,学员也自然是不会想继续学
  • 过年回家寻思着帮父母把家里老PC给升级一下换换血,也方便家里小朋友上网课。这台电脑是2009年我上初中之前自己DIY。配置如下图:在当时应该算是顶配了,第一代i7刚上市,走了一手X58平台。由于机箱没有选全塔...
  • 问题1:对软件工程这门课的理解是什么,用的是什么编程语言 答:在这门课开始之前,我其实对软件工程这门课并不是由太深的认识,通过上网找查资料,我了解到软件工程是一门研究用工程化方法构建和维护有效的,实用...
  • 是利用QQ直播,微信小程序等升级功能开启直播小课堂,还是要在类似钉钉等专门APP上注册登录才能正式上网课,又或者只有一个网址就可以访问网上课堂接受老师管理和作业布置?而在这些方式和平台背后远程连接...
  • 网课已经开设两三个月了同学们上网课的效果怎么样呢?特别是学编程的同学没有了学校的学习氛围没有了老师面对面教学指导你是否为了编程而焦头烂额,生无可恋呢?没事,现在同学们的福利来啦!下面是给大家推荐的一些...
  • 平台是Ubuntu16.04,用Putty登陆远程主机,WinSCP挂载代码,这可以说是我第一次接触Linux操作系统,所以其中遇到了很多奇奇怪怪问题,也看了很多帖子,但有些问题老是会碰到,与其每次都去查不如自己写个总结,...
  • 学习JavaScript第一天

    2020-05-28 23:23:22
    疫情期间,大部分学生都在上网课,我们学校用是超星雅尔学习通平台。你懂,JavaScript很实用啊哈哈哈,而大佬留下了一封“江湖见”。于是,作为一个零基础JavaScript新人,开始了一段学习旅程。 1.JavaScript...
  • 从3月13日报名尝试上网课学习(4天课8.9元),开始接触Python(中文发音“派森”),到今天有一星期了。这两天广泛搜索了一下相关学习途径,本着“投机取巧”出发点,居然小有心得,这里一并分享出来,仅供...
  • 目前全国上下各个学校网课盛行,给学生提供了一个在家学习的平台。...中国有个成语叫做鞭长莫及,用来形容现在上网课的教师们非常贴切。于是有些教师通过奖励的方式提高学生的学习网课的积极性。例如,制...
  • 只是简单运用,不过我会写比较特别,当中会涉及linux平台的服务器设置,以及一些直接命令模式发送邮件一些东西首先和邮件相关重要东西就是2个协议,2个比较常见协议--SMTP和POP3,不知道可以自己上网搜索...
  • 但是网课作为这学期“新产品”,大规模开始上网课让同学们都有些不知所措。不过不用担心!今天,小编就来给各位新老同学们介绍一下Canvas系统,一步到位解决你对网课99%疑问。01什么是Canvas?Canvas是在线学习...
  • 使用平台:Windows软件简介:相信大家对小时候微机里这款软件都有很深印象。当然我还接触过更早一点,咱先不提,说说这个。金山打字通是一款专为上网初学者研发金山打字练习软件。可支持中文打字、拼音...

空空如也

空空如也

1 2 3 4
收藏数 72
精华内容 28
关键字:

上网课的平台