【Python小脚本】1分钟100完成100题,某脚本python根据题库选择答案,准确率100%,真的牛了(超级赞)源码可分享,亲测好用~

这篇具有很好参考价值的文章主要介绍了【Python小脚本】1分钟100完成100题,某脚本python根据题库选择答案,准确率100%,真的牛了(超级赞)源码可分享,亲测好用~。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 导语

对于新手而言,掌握好方向盘的打法非常重要,关系到我们能否顺利通过驾考,拿到驾照。而

开车时方向盘又是最重要的,握好方向盘等于是给自己的安全上了保险。 

所有文章完整的素材+源码都在👇👇

粉丝白嫖源码福利,请移步至CSDN社区或文末公众hao即可免费。

科目一考试为上机考试,100道题,题型为判断题和单选题,以案例、图片及动画形式的题目

为主,考试时间45分钟,90分及以上过关。

最近这段时间天气正正好,不冷不热,是学习考驾照的好时机。

想学的宝子,最好是现在这个季节,要知道,当年(咳咳咳...)也就是前年我学驾照的时候夏

天晒的乌漆嘛黑的  

【Python小脚本】1分钟100完成100题,某脚本python根据题库选择答案,准确率100%,真的牛了(超级赞)源码可分享,亲测好用~

许多驾考学员们,虽说科二科三需要实体练车,但是科一科四都是理论知识点,那不得一次

过。平常的话我们可以利用碎片化的时间巩固基础知识, 争取科科一次过!

今天小编教大家一个小脚本啦——Python实现自动答题 价值 1000元 外包订单项目案例。

【Python小脚本】1分钟100完成100题,某脚本python根据题库选择答案,准确率100%,真的牛了(超级赞)源码可分享,亲测好用~

正文

一、准备环境

1)运行环境 

 开发环境:

Python3、Pycharm社区版。

import requests  ---> 数据请求模块 pip install requests  
import re
from selenium import webdriver ---> 自动测试模块 pip install selenium==3.141.0  <指定版本安装>。

谷歌浏览器 以及 谷歌驱动 <版本和浏览器版本相对应> 环境没有安装的同学, 可以去安装。

 相对应的安装包/安装教程/激活码/使用教程/学习资料/工具插件 可以直接找我厚台获取 。

 2)模块安装

 第三方库的安装方式如下: 

 一般安装:pip install +模块名 

 镜像源安装:pip install -i https://pypi.douban.com/simple/+模块名 

 (还有很多国内镜像源,这里是豆瓣的用习惯了,其他镜像源可以去看下之前文章都有的)

 模块安装问题可以详细的找我给大家讲一下的哈,之前其实也有的文章写了的。 

 四、代码展示 

1)爬虫实现思路

一. 数据来源分析 --> 通过浏览器 开发者工具 抓包分析    

1. 明确需求:        - 明确采集的网站是什么            
题目答案页面: https://tiba.jsyks.com/Post/2c15b.htm
2.  分析这两个数据怎么获取    
数据来自于 --> 答案页面 

第一题: https://tiba.jsyks.com/Post/2c15b.htm    

问题: 获取1701道题目 --> 分析每个题目答案页面URL构成        

第一题: https://tiba.jsyks.com/Post/2c15b.htm        

第二题: https://tiba.jsyks.com/Post/8ac1a.htm       

 第三题: https://tiba.jsyks.com/Post/e97d7.htm    2c15b / 8ac1a / e97d7    
所以 只需要获取所有答案页面ID, 即可获取所有题库 。

2)自动答题主程序

"""
# 导入自动化测试模块 --> 重点 3.141.0 版本
from selenium import webdriver
# 导入pandas
import pandas as pd
# 导入正则
import re

df = pd.read_csv('题库.csv')
key = []
value = []
# 获取每一道题目
for i in df['Problem']:  # 问题作为键
    # 把题目添加到列表里面
    key.append(i)
# 获取每一道题目答案
for j in df['Answer']: # 问题作为值
    # 把答案添加到列表里面
    value.append(j)

# 把两个列表合并成字典
dic = dict(zip(key, value))

"""
1. 打开浏览器
    Chrome 浏览器 谷歌
    webdriver.Chrome('驱动路径')
    I. 驱动选择
        根据你自己浏览器版本, 选择驱动版本, 最相近即可
        驱动只有32
    II. 驱动路径写法
        1. 不写路径
            - 驱动和你代码在一起
            - 驱动和你python安装目录在一起
        2. 写路径 绝对路径

"""
driver = webdriver.Chrome()
# 2. 访问网站
driver.get('https://www.jsyks.com/kms-fzks')
driver.maximize_window()
"""
答题操作:
    1. 题库 <获取出来了>
        读取csv文件, 把题目内容以及答案读取出来

1701道题,要读1701次啊?
    可以把问题作为字典键, 答案作为字典值
    根据问题, 可以获取答案

定位元素, 获取数据内容
"""
print(dic)
for page in range(50):
    Questions = driver.find_element_by_css_selector('#ExamTit').text
    # \d+ 匹配数字 获取题目
    Question = re.findall('\d+. (.*)', Questions)[0]
    answer = dic[Question]
    # 多选题, 答案肯定大于1
    if len(answer) == 1:
        # 判断答案内容 选择选项
        if answer == '对':
            # 定位对元素, 进行点击操作
            driver.find_element_by_css_selector('#TX1 #btnDa11').click()
        elif answer == '错':
            driver.find_element_by_css_selector('#TX1 #btnDa12').click()
        elif answer == 'A':
            driver.find_element_by_css_selector('#TX2 #btnDa21').click()
        elif answer == 'B':
            driver.find_element_by_css_selector('#TX2 #btnDa22').click()
        elif answer == 'C':
            driver.find_element_by_css_selector('#TX2 #btnDa23').click()
        elif answer == 'D':
            driver.find_element_by_css_selector('#TX2 #btnDa24').click()

        # 点击下一题
        driver.find_element_by_css_selector('#actArea #btnNext2').click()
    elif len(answer) > 1:
        # 多选
        for x in answer:
            if x == 'A':
                driver.find_element_by_css_selector('#TX2 #btnDa21').click()
            elif x == 'B':
                driver.find_element_by_css_selector('#TX2 #btnDa22').click()
            elif x == 'C':
                driver.find_element_by_css_selector('#TX2 #btnDa23').click()
            elif x == 'D':
                driver.find_element_by_css_selector('#TX2 #btnDa24').click()

        driver.find_element_by_css_selector('#actArea #btnNext2').click()


driver.find_element_by_css_selector('#actArea #btnNext3').click()
driver.find_element_by_css_selector('#Tip_Msg span input:nth-child(1)').click()

3)题库主程序

import requests
import re
import csv
import concurrent.futures
import parsel

def AnswerID():
    f = open('答案ID.txt', encoding='utf-8')
    answer_id_list = [answer_id for answer_id in f.read().split(',')]
    return answer_id_list


def GetResponse(html_url):
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
    }
    html_data = requests.get(url=html_url, headers=headers).text
    return html_data


def GetContent(AnswerID):
    AnswerUrl = f'https://tiba.jsyks.com/Post/{AnswerID}.htm'
    html_data = GetResponse(html_url=AnswerUrl)
    selector = parsel.Selector(html_data)
    problem = selector.css('#question a::text').get()
    answer = selector.css('#question h1 b::text').getall()
    if len(answer) == 0:
        answer = selector.css('#question h1 u::text').get()

    AnswerDict = {
        'Problem': problem,
        'Answer': answer,
    }
    return AnswerDict


def main(page):
    AnswerDict = GetContent(AnswerID=page)
    csv_writer.writerow(AnswerDict)
    print(AnswerDict)


if __name__ == '__main__':
    # GetContent(AnswerID='8502e')
    answer_id_list = AnswerID()
    f = open('科目四题库.csv', mode='a', encoding='utf-8', newline='')
    csv_writer = csv.DictWriter(f, fieldnames=['Problem', 'Answer'])
    csv_writer.writeheader()
    exe = concurrent.futures.ThreadPoolExecutor(max_workers=7)
    for answer_id in answer_id_list:
        exe.submit(main, answer_id)
    exe.shutdown()

​五、效果展示

【Python小脚本】1分钟100完成100题,某脚本python根据题库选择答案,准确率100%,真的牛了(超级赞)源码可分享,亲测好用~

总结

怎么样,学完这个内容收获大吗?如果觉得有用,请转发收藏吧~嘿嘿,我们下期再见,

小可爱们还有什么内容是想看的呢?

✨完整的素材源码等:可以滴滴我吖!或者点击文末hao自取免费拿的哈~

 🔨推荐往期文章——

项目1.8  Wifi破解免费

Python编程零基础如何逆袭成为爬虫实战高手之《WIFI破解》(甩万能钥匙十条街)爆赞爆赞~

项目1.9  爬虫+数据分析实战:全球疫情最新消息、淘宝爬虫、秒杀脚本

​​​​​​【Python合集系列】爬虫有什么用,网友纷纷给出自己的答案,王老师,我..我想学那个..爬虫。可以嘛?“(代码免费分享)
 

项目2.0  Python爬虫合集系列

【Python爬虫系列】为什么我喜欢python?来看看这些让人爱不释手的原因吧,购物网站大盘点,看过这些python做的项目,我立马入坑了…(神奇 | 爱了,爱了)

🎄文章汇总——

汇总合集 Python—2022 |已有文章汇总 | 持续更新,直接看这篇就够了

(更多内容+源码都在✨文章汇总哦!!欢迎阅读喜欢的文章🎉~

【Python小脚本】1分钟100完成100题,某脚本python根据题库选择答案,准确率100%,真的牛了(超级赞)源码可分享,亲测好用~

文章来源地址https://www.toymoban.com/news/detail-441479.html

到了这里,关于【Python小脚本】1分钟100完成100题,某脚本python根据题库选择答案,准确率100%,真的牛了(超级赞)源码可分享,亲测好用~的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【python脚本】python实现:目标检测裁剪图片样本,根据类标签文件进行裁剪保存

    我在进行目标检测时候,比如红绿灯检测,目标区域很小,样本杂乱。 想要筛选错误样本的话,很困难。可以把目标区域裁剪出来。人大脑处理对于这样的异己比较敏感。样本量较少的话可以自己筛一筛。样本量较大的话,可以训练一个分类模型帮你筛一下。 它就可以实现

    2024年02月15日
    浏览(41)
  • C++期末考试选择题题库100道&&C++期末判断题的易错知识点复习

    今天备考C++,看到了一些好的复习资料,整合一起给大家分享一下 对于常数据成员,下面描述正确的是 【 B 】 A. 常数据成员必须被初始化,并且不能被修改 B. 常数据成员可以不初始化,并且不能被修改 C. 常数据成员可以不初始化,并且可以被修改 D. 常数据成员必须被初始

    2024年02月10日
    浏览(53)
  • 100天精通Python(实用脚本篇)——第112天:图像处理批量给图片添加水印,防盗必备建议收藏!!!(附上脚本代码)

    🔥🔥 本文已收录于 《100天精通Python从入门到就业》:本专栏专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从0到100的不断进阶深入,后续还有实战项目,轻松应对面试,专栏订阅地址:

    2024年01月23日
    浏览(60)
  • 100天精通Python(实用脚本篇)——第116天:基于selenium实现反反爬策略之添加cookie登录网站

    🔥🔥 本文已收录于 《100天精通Python从入门到就业》:本专栏专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从0到100的不断进阶深入,后续还有实战项目,轻松应对面试,专栏订阅地址:https://blog.csdn.net/yuan2019035055/category_11466020.html 优点 : 订阅限时9.9付费专

    2024年02月20日
    浏览(52)
  • 100天精通Python(实用脚本篇)——第113天:基于Tesseract-OCR实现OCR图片文字识别实战

    🔥🔥 本文已收录于 《100天精通Python从入门到就业》:本专栏专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从0到100的不断进阶深入,后续还有实战项目,轻松应对面试,专栏订阅地址:https://blog.csdn.net/yuan2019035055/category_11466020.html 优点 : 订阅限时9.9付费专

    2024年01月22日
    浏览(50)
  • 100天精通Python(实用脚本篇)——第118天:基于selenium和ddddocr库实现反反爬策略之验证码识别

    🔥🔥 本文已收录于 《100天精通Python从入门到就业》:本专栏专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从0到100的不断进阶深入,后续还有实战项目,轻松应对面试,专栏订阅地址:https://blog.csdn.net/yuan2019035055/category_11466020.html 优点 : 订阅限时9.9付费专

    2024年03月19日
    浏览(46)
  • Python期末复习题库(上)——“Python”

    小雅兰期末加油冲冲冲!!! 1. (单选题) Python源程序的扩展名为( A ) A. py B. c C. class D. ph 2. (单选题) 下列( A )符合可用于注释Python代码。 A. # B. */ C. // D. $ 3. (单选题)下列关于Python 语言的特点的说法中,错误的是( A ). A. Python 语言是非开源语言 B. Python 语言是跨平台语

    2024年02月07日
    浏览(36)
  • Python期末复习题库(下)——“Python”

    小雅兰期末加油冲冲冲!!! 1. (单选题)下列关于文件打开模式的说法,错误的是( C )。 A. r代表以只读方式打开文件 B. w代表以只写方式打开文件 C. a代表以二进制形式打开文件 D. 模式中使用+时,文件可读可写  2. (单选题)下列选项中,以追加模式打开文件的是( D ) A. a B. ab+ C.

    2024年02月07日
    浏览(32)
  • python把Word题库转成Excle题库

    又到了一年一度的背题时刻,但是收到的题库是Word版的,页数特别多 话不多说,上代码,有图有真相,代码里面备注的很详细 题库已打包,有环境的直接RUN,有问题可以咨询(不保证一定解决)

    2024年02月05日
    浏览(33)
  • python实现对python123平台题库爬取

    最近在搞软件工程课程设计,做了一个在线考试系统,为了弄到题库数据,简单利用了python中的selenium库实现对python123平台自动登录并获取相应的选择试题。 只针对了自己所做过的选择题进行爬取,然后把所得数据存储在excel表格中。

    2024年02月12日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包