# 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 #init flag flag = True #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 #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']) flag = False break elif name == json_read['data'][i]['ts'][0]['owner']: print(json_read['data'][i]['devName']) 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']) elif json_read['data'][i]['ts'][0]['owner'] != '': print(json_read['data'][i]['ts'][0]['owner']) 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:") 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: 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'] != '': print(json_read['data'][i]['devName']+' '+json_read['data'][i]['ts'][0]['member']) else: print(json_read['data'][i]['devName']+' '+json_read['data'][i]['ts'][0]['owner']) except Exception: pass print("========================") 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) for i in range(len(json_read['data'])): try: if json_read['data'][i]['ts'][0]['member'] != '': print(json_read['data'][i]['devName']+' '+json_read['data'][i]['ts'][0]['member']) else: print(json_read['data'][i]['devName']+' '+json_read['data'][i]['ts'][0]['owner']) except Exception: pass print("========================") else : print("You enter a bad choice please try later") input("PRESS ENTER TO QUIT")
效果图