返回顶部
首页 > 资讯 > 后端开发 > Python >【Python小脚本】1分钟100完成100题,某脚本python根据题库选择答案,准确率100%,真的牛了(超级赞)源码可分享,亲测好用~
  • 541
分享到

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

python爬虫selenium自动化小程序自动化脚本 2023-09-07 06:09:46 541人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

 导语 对于新手而言,掌握好方向盘的打法非常重要,关系到我们能否顺利通过驾考,拿到驾照。而 开车时方向盘又是最重要的,握好方向盘等于是给自己的安全上了保险。  所有文章完整的素材+源码都在👇👇 粉丝白嫖

 导语

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

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

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

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

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

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

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

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

天晒的乌漆嘛黑的  

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

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

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

正文

一、准备环境

1)运行环境 

 开发环境:

python3PyCharm社区版。

import requests  ---> 数据请求模块 pip install requests  import refrom 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# 导入pandasimport pandas as pd# 导入正则import redf = 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 requestsimport reimport csvimport concurrent.futuresimport parseldef AnswerID():    f = open('答案ID.txt', encoding='utf-8')    answer_id_list = [answer_id for answer_id in f.read().split(',')]    return answer_id_listdef 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_datadef 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 AnswerDictdef 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()

五、效果展示

总结

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

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

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

 🔨推荐往期文章——

项目1.8  Wifi破解免费

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

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

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

项目2.0  python爬虫合集系列

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

🎄文章汇总——

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

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

来源地址:https://blog.csdn.net/weixin_55822277/article/details/129593313

--结束END--

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

本文链接: https://lsjlt.com/news/397789.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作