您的位置:首页 > 编程语言

中央财经大学图书馆代码最终版(不再更新)

2017-12-30 20:11 225 查看
快要期末了QAQ还没开始预习,最后更新一次代码,添加了选座时间和性别识别以及区域男女比。

选座时间嘛可以看看坐在你男神女神旁边的异性,是不是一起来的,如果是,GGBOOM那就悬了哦。

性别识别主要是为了查看区域男女比例,妹子多了养眼这句话总归是没错的。

然而妹子再多我还是单身...QAQ想要妹子

PS:如有任何冒犯,请联系作者,会及时删除侵犯您权利的部分。免费program,技术至上

新版效果图:



一言不合上代码:

# THIS FILE IS PART OF Mr.Guo WULIAO.PY FILES
# check.py - TO FIND NAEM OR FIND PLACE OF CUFE LIBRARY
# THIS PROGRAM IS A FREE SOFTWARE
# YOU SHOULD HAVE RECEIVED A COPY OF LICENSE, IF NOT,YOU SHOULD ADD QQ:3206283501
# @AUTHOR:
# Copyright (c) CUFE COMPUTER 15
# Copyright (c) 2017 Mr.Guo
# WANTING FOR A GIRL FRIEND ADD QQ:3206283501

#import lib
import random
import json
from urllib import request
import time
from bs4 import BeautifulSoup
import threading
from test import *

#init flag
flag = True

#init total count
t_man = 0
t_woman = 0

#print now time
print("当前时间")
print("========================")
print(time.asctime(time.localtime(time.time())))
print("========================")

#get_content
def get_html_content(url):
html = request.urlopen(url)
content = html.read()
return content

#test function
def check_sex(sex,m_c,w_c):
if sex == "男":
m_c += 1
else:
w_c += 1
return m_c,w_c

#append urls to a list
url = "http://10.12.162.31/ClientWeb/xcus/ic2/Default.aspx"
html = request.urlopen(url)
bs_obj = BeautifulSoup(html,"html.parser")
url = bs_obj.findAll("li",{"class":"it"})
url_list = []
date = time.strftime('%Y-%m-%d',time.localtime(time.time()))

for i in range(5,len(url)):
fuck = url[i].attrs["url"]
fuck = list(fuck)
site_id = ''
for i in range(40,49):
site_id += fuck[i]

page_url = "http://10.12.162.31/ClientWeb/pro/ajax/device.aspx?byType=devcls&classkind=8&display=fp&md=d&room_id=%s"%site_id + "&purpose=&cld_name=default&date=%s"%date + "&fr_start=15%3A30&fr_end=16%3A30" + "&act=get_rsv_sta&_=%s"%str(time.time())[0:10]
url_list.append(page_url)

#function for check
def append(start,end):
inside_url = []
for i in range(start,end):
inside_url.append(url_list[i])
return inside_url

#check area sites state
def check_area(site_id,inside_url):
site_id_list = list(site_id)
area = site_id_list[1]
url = ''
area = area.upper()

if area == 'A':
url = inside_url[0]
elif area == 'B':
url = inside_url[1]
elif area == 'C':
url = inside_url[2]
elif area == 'D':
url = inside_url[3]
elif area == 'E':
url = inside_url[4]
elif area == 'F':
url = inside_url[5]
else:
print("You enter a bad area")

return url

#find person function
def find_person(url):
global flag
json_content = get_html_content(url)
json_content = str(json_content,encoding = "utf-8")
#print(json_content)
json_read = json.loads(json_content)
#print(json_read)
for i in range(len(json_read['data'])):
try:
if name == json_read['data'][i]['ts'][0]['member']:
print(json_read['data'][i]['devName'],end = ' ')
start_time = json_read['data'][i]['ts'][0]['start']
print(start_time)
flag = False
break
elif name == json_read['data'][i]['ts'][0]['owner']:
print(json_read['data'][i]['devName'],end = ' ')
start_time = json_read['data'][i]['ts'][0]['start']
print(start_time)
flag = False
break
except Exception:
pass

#main function
choice = input('''enter u choice:
a.enter place and find name
b.enter name find place
c.print total site-name list
d.check area place name
''')
print("========================")
choice = choice.lower()

if choice == 'a':
site_id = input("enter the place.eg 2F512\n:")

if site_id.startswith("1"):
inside_url = append(0,3)
url = check_area(site_id,inside_url)

elif site_id.startswith("2"):
inside_url = append(3,9)
url = check_area(site_id,inside_url)

elif site_id.startswith("3"):
inside_url = append(9,15)
url = check_area(site_id,inside_url)

elif site_id.startswith("4"):
inside_url = append(15,21)
url = check_area(site_id,inside_url)

elif site_id.startswith("5"):
inside_url = append(21,26)
url = check_area(site_id,inside_url)

else:
print("You are sb for that u enter a false floor id")

json_content = get_html_content(url)
json_content = str(json_content,encoding = "utf-8")
json_read = json.loads(json_content)

for i in range(len(json_read['data'])):
try:
if site_id == json_read['data'][i]['devName']:
if json_read['data'][i]['ts'][0]['member'] != '':
print(json_read['data'][i]['ts'][0]['member'],end = ' ')
start_time = json_read['data'][i]['ts'][0]['start']
print(start_time)
elif json_read['data'][i]['ts'][0]['owner'] != '':
print(json_read['data'][i]['ts'][0]['owner'],end = ' ')
start_time = json_read['data'][i]['ts'][0]['start']
print(start_time)
else:
print("There is no one in this place")
except Exception as e:
pass
print("========================")

elif choice == 'b':
name = input("enter the name.eg 郭磊\n:")
if name == "基佬":
name = "郭桐嘉"
threads = []
for url in url_list:
t = threading.Thread(target = find_person,args = (url,))
t.start()
threads.append(t)
for t in threads:
t.join()
if flag:
print("The person u want to find don't occupy any site")
print("========================")

elif choice == 'c':
for url in url_list:
man_count = 0
woman_count = 0

json_content = get_html_content(url)
json_content = str(json_content,encoding = "utf-8")
#print(json_content)

json_read = json.loads(json_content)
#print(json_read)
for i in range(len(json_read['data'])):
try:
if json_read['data'][i]['ts'][0]['member'] != '':
area = json_read['data'][i]['devName']
name = json_read['data'][i]['ts'][0]['member']
sex = def_sex(json_read['data'][i]['ts'][0]['member'])
print(area+' ' + name,end = ' ')
if len(name) == 2:
print(' ',end = '')
print(sex,end = " ")
start_time = json_read['data'][i]['ts'][0]['start']
print(start_time)
man_count,woman_count = check_sex(sex,man_count,woman_count)
else:
area = json_read['data'][i]['devName']
name = json_read['data'][i]['ts'][0]['owner']
sex = def_sex(json_read['data'][i]['ts'][0]['owner'])
print(area+' ' + name,end = ' ')
if len(name) == 2:
print(' ',end = '')
print(sex,end = ' ')
start_time = json_read['data'][i]['ts'][0]['start']
print(start_time)
man_count,woman_count = check_sex(sex,man_count,woman_count)
except Exception as e:
#print(e)
pass
t_man += man_count
t_woman += woman_count
try:
man_percent = man_count/(man_count+woman_count)
woman_percent = woman_count/(man_count+woman_count)
print("男生:%s 所占比例:%s "%(man_count,int(man_percent*100)/100.0)+"女生:%s 所占比例:%s"%(woman_count,int(woman_percent*100)/100.0))
except Exception as e:
#print(e)
pass
print("========================")
print("男生总数:%s 男生占比:%s "%(t_man,round(t_man/(t_man+t_woman),2))+"女生总数:%s 女生占比:%s"%(t_woman,round(t_woman/(t_man + t_woman),2)))

elif choice == 'd':
floor_id = input("enter the floor.eg 2F\n:")

if floor_id.startswith("1"):
inside_url = append(0,3)
url = check_area(floor_id,inside_url)

elif floor_id.startswith("2"):
inside_url = append(3,9)
url = check_area(floor_id,inside_url)

elif floor_id.startswith("3"):
inside_url = append(9,15)
url = check_area(floor_id,inside_url)

elif floor_id.startswith("4"):
inside_url = append(15,21)
url = check_area(floor_id,inside_url)

elif floor_id.startswith("5"):
inside_url = append(21,26)
url = check_area(floor_id,inside_url)

else:
print("You are sb for that u enter a false floor id")

json_content = get_html_content(url)
json_content = str(json_content,encoding = "utf-8")
#print(json_content)

json_read = json.loads(json_content)
#print(json_read)
man_count = 0
woman_count = 0
for i in range(len(json_read['data'])):
try:
if json_read['data'][i]['ts'][0]['member'] != '':
area = json_read['data'][i]['devName']
name = json_read['data'][i]['ts'][0]['member']
sex = def_sex(json_read['data'][i]['ts'][0]['member'])
print(area+' ' + name,end = ' ')
if len(name) == 2:
print(' ',end = '')
print(sex,end = " ")
start_time = json_read['data'][i]['ts'][0]['start']
print(start_time)
man_count,woman_count = check_sex(sex,man_count,woman_count)
else:
area = json_read['data'][i]['devName']
name = json_read['data'][i]['ts'][0]['owner']
sex = def_sex(json_read['data'][i]['ts'][0]['owner'])
print(area+' ' + name,end = ' ')
if len(name) == 2:
print(' ',end = '')
print(sex,end = " ")
start_time = json_read['data'][i]['ts'][0]['start']
print(start_time)
man_count,woman_count = check_sex(sex,man_count,woman_count)
except Exception:
pass
try:
man_percent = man_count/(man_count+woman_count)
woman_percent = woman_count/(man_count+woman_count)
print(int(man_percent*100)/100.0,int(woman_percent*100)/100.0)
except Exception as e:
#print(e)
pass
print("========================")

else :
print("You enter a bad choice please try later")

#input("PRESS ENTER TO QUIT")


性别识别的数据在上一篇置顶文章中,性别识别的代码也在上一篇文章中,综合准确率接近 90%
有任何疑问联系独立作者:郭磊

联系方式:代码第一行注释

谢绝任何未经许可的转载

版权所属,翻版必究
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息