python自动答题助手_头脑王者python答题助手

参考了这些资料ZLOE:知乎答题王全自动程序​zhuanlan.zhihu.com基于Python的头脑王者脚本(纯娱乐) - CSDN博客​blog.csdn.netpython中文件变化监控-watchdog - CSDN博客​blog.csdn.net

基本思路:fiddler抓包,存文件,百度搜结果,显示各个答案的结果数,手动答题。碰到自己不会的题,一般地,正向问题就选结果数最多的,反向问题(题干一般含“不”字)就选结果最少的。碰到自己本来就会的题,也能预先知道正确答案的位置顺序,让答题更快。

使用了watchdog检测文件变化,只有当获取到新题才开始输出,而不会一直刷个不停,不过现在fiddler进行一次save会输出两次而不是一次,原因暂不清楚。

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import json

from urllib import parse

import requests

import os

import time

from bs4 import BeautifulSoup as BS

from watchdog.observers import Observer

from watchdog.events import *

# 存入题库,自行决定,是否启用

# import sqltiku

def get_appinf(filename):

f = open(filename, 'r', encoding='utf-8')

try:

print('file loaded')

j = json.loads(f.read())

#print(j)

if 'quiz' in j['data'] and 'options' in j['data']:

num = j['data']['num']

quiz = j['data']['quiz']

print(('第' + str(num) + '题:' + quiz).center(50, '*') + '\n')

cho = j['data']['options']

lei = j['data']['school']

ke = j['data']['type']

zuo = j['data']['contributor']

ti = quiz

a = cho[0]

b = cho[1]

c = cho[2]

d = cho[3]

find_data = '无'

# 存入数据库

# sqltiku.find_sql(lei, ke, zuo, ti, a, b, c, d, find_data)

else:

pass

return quiz, cho

except:

print('get_appinf error')

pass

f.close()

def baidu(question, answers):

url = 'http://www.baidu.com/s'

headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1'

}

data = {

'wd': question

}

res = requests.get(url, params=data, headers=headers)

res.encoding = 'utf-8'

html = res.text

for i in range(len(answers)):

#c = html.count(answers[i])

answers[i] = (i+1,answers[i],html.count(answers[i]))

#print('选项' + (i+1) + ' ' + 'N' + '个结果')

#answers.sort(reverse=True)

#print(answers[0][0] + ' ' + answers[0][1])

print(answers[0])

print(answers[1])

print(answers[2])

print(answers[3])

return answers

class FileEventHandler(FileSystemEventHandler):

def on_modified(self, event):

if event.is_directory:

print("directory modified:{0}".format(event.src_path))

else:

print("file modified:{0}".format(event.src_path))

main()

def main():

try:

# 你在抓包程序中填的目录

print('try')

que, cho = get_appinf(r'C:\www\responsebody.txt')

#print(que)

baidu(que, cho)

except:

pass

# 点击再来一次,自己决定是否启用

# os.system('adb shell input swipe 506 1363 506 1363')

# 选择挑战种类,这里你得自己调整啦

# os.system('adb shell input swipe 526 759 526 759')

if __name__ == '__main__':

print('程序运行中...........')

main()

observer = Observer()

event_handler = FileEventHandler()

observer.schedule(event_handler,"c:/www/",True)

observer.start()

while True:

#print('waiting new quiz...')

time.sleep(1)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python是一种高级编程语言,拥有开源免费的环境和庞大的第三方库支持。在繁琐的答题工作中,利用Python实现百万答题自动百度搜索答案,可以大大提高效率和准确性。 Python实现百万答题自动百度搜索答案的过程可以分解成以下几个步骤: 第一步,获取题目和答案。这需要从一个源获取题目和答案的问答对,比如已有的题库或者从网上抓取。获取后,需要对问答对进行特征提取和分类存储,方便后续查询时使用。 第二步,使用Python实现百度搜索。可以使用Python内置的urllib库模拟浏览器访问百度搜索引擎,在搜索框中输入问题文本,然后获取并解析搜索结果的信息,包括相关答案和搜索结果的URL列表。需要注意的是,这种方式并不违反百度的搜索协议,因为查询和搜索的次数都是有限制的,且不会对搜索引擎的性能产生负面影响。 第三步,使用Python自然语言处理技术过滤答案。搜索结果的URL列表中可能包含了很多垃圾信息,例如广告、论坛讨论等等,需要使用Python自然语言处理技术对网页内容进行过滤和解析,只保留与答案相关的信息。例如,可以使用词频统计、TF-IDF等技术对搜索结果进行排序和过滤。 第四步,使用Python自动化工具模拟答题过程。使用Python模拟人的操作,可以实现自动化答题,即根据程序的搜索结果,自动点击正确答案并提交。需要注意的是,为了防止被封号,程序需要加入随机休眠和代理池等机制,以模拟人的操作。 通过以上步骤,就可以使用Python实现百万答题自动百度搜索答案。当然,需要提醒大家的是,使用这种方式来解决答题问题,并不是最好的方法,正确的学习和思考才是成功的关键。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值