python 网页答题器_大话西游答题器 Python版本

科举,大理寺都适用。 唯独不支持的是殿试。

项目代吗

pip install requests

然后保存下列代码到一个python文件(如: search.py)

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

'''

File Name: search.py

Author: JackeyGao

mail: junqi.gao@shuyun.com

Created Time: 三 1/13 11:12:32 2016

'''

import sys

import readline

import signal

import requests

readline.parse_and_bind('tab: complete')

readline.parse_and_bind('set editing-mode vi')

def _wrap_with_code(code):

def inner(text, bold=False):

c = code

if bold:

c = "1;%s" % c

return "\033[%sm%s\033[0m" % (c, text)

return inner

red = _wrap_with_code('31')

green = _wrap_with_code('32')

blue = _wrap_with_code('34')

categorys = (

'',

'乡试',

'省试-地理',

'省试-文学',

'省试-常识',

'省试-饮食',

'省试-历史',

'大话常识'

)

try:

category = sys.argv[1]

if category not in categorys:

raise Exception()

except IndexError as e:

category = ''

except Exception as e:

sys.stdout.write(red("CategoryError:\n无效的科目'%s',支持:(%s, ''(所有))\n" \

% (category, ','.join(categorys))))

exit()

def request(collect, query):

url = "http://xy2-tiku.webapp.163.com/tiku/search"

params = { "q": query }

if collect:

params["c"] = collect

headers = {

"Content-Type": "application/json",

"Accept-Language": "zh-CN,zh;q=0.8,en;q=0.6",

"Connection": "keep-alive",

"Referer": "http://dhxy.163.com/"

}

response = requests.get(

url,

params=params,

headers=headers

)

return response.json()

def show(data):

for q in data["data"]:

sys.stdout.write("- [%s] " % q["category"] + blue(q["question"]) + '\n')

sys.stdout.write("> " + green(','.join(q["answers"])) + '\n')

sys.stdout.write("\n")

def signal_handler(signal, frame):

sys.stdout.write(red('\nYou pressed Ctrl+C! 答题终止.\n'))

sys.exit(0)

signal.signal(signal.SIGINT, signal_handler)

while True:

collect = category or '所有'

try:

keyword = raw_input("[%s]输入关键字(终止Ctrl+C): " % red(collect))

show(request(category, keyword))

except EOFError:

print(red("\n快捷键错误, 使用Ctrl+C 退出."))

使用方式

$ python search.py $CATEGORY

# CATEGORY 可以为空为空则为所有科目

# CATEGORY 支持(乡试,省试-地理,省试-文学,省试-常识,省试-饮食,省试-历史,大话常识, ''(所有))

注意: 转载请注明原地址, 首发平台http://omem.me, 及作者.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值