You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
|
|
|
|
|
|
import middlewares
|
|
|
|
|
import time
|
|
|
|
|
import settings
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def showBanner(menu = 'main'):
|
|
|
|
|
print(settings.BANNER.get(menu), end='')
|
|
|
|
|
|
|
|
|
|
def switch(menu = '1'):
|
|
|
|
|
case = {
|
|
|
|
|
'1' : main,
|
|
|
|
|
'2' : introduce,
|
|
|
|
|
'3' : view,
|
|
|
|
|
'4' : middlewares.save2Redis,
|
|
|
|
|
'5' : middlewares.clearRedis,
|
|
|
|
|
'6' : milkSpider,
|
|
|
|
|
'7' : aexit
|
|
|
|
|
}
|
|
|
|
|
if menu in case.keys():
|
|
|
|
|
case.get(menu)()
|
|
|
|
|
else:
|
|
|
|
|
print("no such choice", end = '')
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
def main():
|
|
|
|
|
while True:
|
|
|
|
|
showBanner()
|
|
|
|
|
menu = str(input("选择一项:"))
|
|
|
|
|
switch(menu)
|
|
|
|
|
|
|
|
|
|
def introduce():
|
|
|
|
|
print(settings.BANNER.get('introduce'), end = '')
|
|
|
|
|
while True:
|
|
|
|
|
select = str(input())
|
|
|
|
|
if select == "r":
|
|
|
|
|
return
|
|
|
|
|
else:
|
|
|
|
|
print("invaild choice!")
|
|
|
|
|
|
|
|
|
|
def view():
|
|
|
|
|
print("this is view()")
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
def milkSpider():
|
|
|
|
|
|
|
|
|
|
print("注意:调用milkSpider将启动selenium以及requests进程,因为爬取数据量较大,\n往往会占用较多时间,确定吗?[c]continue or [q]quit:", end = '')
|
|
|
|
|
flag = str(input())
|
|
|
|
|
if flag == "q":
|
|
|
|
|
print("取消")
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
if middlewares.precheck():
|
|
|
|
|
start_time = time.time()
|
|
|
|
|
middlewares.mainThread()
|
|
|
|
|
print("Totally spend " + str(round(time.time() - start_time, 2)) + " seconds")
|
|
|
|
|
print("milkSpider done.")
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
def aexit():
|
|
|
|
|
print("bye!")
|
|
|
|
|
exit()
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
|
# milkSpider()
|
|
|
|
|
main()
|