前言
python实现自动答题?
别管,我这就给你们展示一下 (效果图看不了 不知道为什么说我违gui)😥
话不多说,咱就直接看代码吧
代码
准备模块
import requests
import parsel
from selenium import webdriver
发送请求
所有 源码 点击 此处 领取 即可
def get_response(html_url):
"""
发送请求
:param html_url: 请求网址
:return: 响应对象
"""
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36'
}
response = requests.get(url=html_url, headers=headers)
return response
获取答案链接
'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:309488165
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def get_answer_url(html_url):
"""
获取答案链接
:param html_url:
:return:
"""
html_data = get_response(html_url).text
selector = parsel.Selector(html_data)
answer_url_id = selector.css('.Content li::attr(c)').getall()
answer_url_list = [f'https://tiba.jsyks.com/Post/{i}.htm' for i in answer_url_id]
return answer_url_list
获取答案
def get_answer_result(answer_url):
"""
获取答案
:param answer_url:
:return:
"""
answer_data = get_response(html_url=answer_url).text
selector = parsel.Selector(answer_data)
question = selector.css('#question a::text').get()
answer = selector.css('#question h1 u::text').get()
if answer == '对':
answer = '正确'
elif answer == '错':
answer = '错误'
answer_dict = {
'问题': question,
'答案': answer
}
return answer_dict
获取所有问题以及答案
def get_all_answer(answer_url_list):
"""
获取所有问题以及答案
:param link:
:return:
"""
page = 1
for answer_url, li in zip(answer_url_list, lis):
answer_dict = get_answer_result(answer_url)
bs = li.find_elements_by_css_selector('b')
num = 1
for b in bs:
choose = b.text
if len(choose) > 2:
choose = choose[0]
print(choose, answer_dict['答案'])
if choose in answer_dict['答案']:
driver.find_element_by_css_selector(f'#LI{page} b:nth-child({num+2})').click()
print('点击了')
else:
print('没有点击')
num += 1
page += 1
print(answer_dict)
最后
朋友们学习python,有时候不知道怎么学,从哪里开始学。掌握了基本的一些语法或者做了两个案例后,不知道下一步怎么走,不知道如何去学习更加高深的知识。
那么对于这些朋友们,我准备了大量的免费视频教程,PDF电子书籍,以及源代码!直接在文末名片自取即可哦!
今天的分享到这里就结束了
顺便给大家推荐一些Python视频教程,希望对大家有所帮助:
Python零基础教学合集
对文章有问题的,或者有其他关于python的问题,可以在评论区留言或者私信我哦
觉得我分享的文章不错的话,可以关注一下我,或者给文章点赞(/≧▽≦)/