def __init__(self): self.cur_row = 0 self.max_row = 2000 self.file = "" self.table = "" self.style = xlwt.XFStyle() font = xlwt.Font() font.name = 'SimSun' self.style.font = font self.tool = tool.Tool() self.resultDir = "result\\" try: os.mkdir(self.resultDir) except OSError: pass
def __init__(self, file_path, csv_pd): print('init') self.test_data_path = file_path self.tool = tool.Tool() self.max_span_time = 10000 self.span = self.tool.io(self.test_data_path) # 測資 self.job_len = len(self.span[0]) self.population_len = 4 self.search_alter = True #True 代表local search會把排列也更新, False則不會,只更新makespans self.need_search_num = 4 self.min_makespan_each_gen_list = [] #random.seed(0) init_jobs = [] init_makespans = [] for i in range(self.population_len): jobs_seq = [int(e) for e in range(0, self.job_len)] random.shuffle(jobs_seq) init_jobs.append(jobs_seq) self.population = pd.DataFrame() self.population['jobs'] = init_jobs self.population = self.evaluation(self.population) self.population.sort_values('makespans', ascending=True, inplace=True) self.population.reset_index(inplace=True) self.population.drop(labels=["index"], axis="columns", inplace=True) self.SA_init_temp = 15000 self.SA_init_alpha = 0.95 self.SA_init_epoch_len = 40 #initial先local search for i in range(self.need_search_num): #print(self.population['jobs'][i], self.population['makespans'][i]) SA_search = SimulatedAnnealing( self.SA_init_temp, self.SA_init_alpha, self.SA_init_epoch_len, self.population['jobs'][i], self.test_data_path) SA_search.search() if self.search_alter: self.population['jobs'][i] = SA_search.min_jobs_seq self.population.loc[i, 'makespans'] = SA_search.min_makespan #print(self.population['jobs'][i], self.population['makespans'][i]) self.min_makespan = 999999999 self.min_jobs = [] self.find_min_makespan()
def getContent(self, pageNum): if pageNum < self.getPageNum(): pageCode = self.getPageCode(pageNum) regContent = '<div id="post_content_.*?>(.*?)</div>' pattern = re.compile(regContent, re.S) items = re.findall(pattern, pageCode) self.saveImgs(pageCode, pageNum) atool = tool.Tool() file = open("top50.txt", "w+") for item in items: aitem = atool.replace(item) file.write(aitem) if len(aitem) < 500: continue print aitem #print len(aitem) print u'-----------------这是次元壁-----------------------' else: print '超过最大页数,请重新输入'
def __init__(self, temperture, alpha, epoch_len, random_seed, file='./PFSP_benchmark_data_set/tai20_5_1.txt'): self.temperture = temperture # 初始溫度 self.alpha = alpha # temperture減少倍率 self.count_time = 1 # 計算的數量 self.max_count_time = 10000 # 總計算數 self.epoch_len = epoch_len random.seed(random_seed) self.tool = tool.Tool() self.span = self.tool.io(file) # 測資 self.job_len = 20 self.min_jobs_seq = [int(e) for e in range(0, self.job_len)] # job初始排序 random.shuffle(self.min_jobs_seq) self.min_makespan = self.tool.makespan( self.span, self.min_jobs_seq) # 計算初始makespan self.makespan_array = [self.min_makespan] # 儲存所有makespan
def readDataAndPrivateTrain(self,inputNum,outputNum,trainDataFilePath,modelSavePath): data_filename_set = tool.Tool().getPearsonClusterResult(trainDataFilePath=trainDataFilePath) data = data_filename_set[0] filenames = data_filename_set[1] filenames = [name.split('.')[0] for name in filenames] clusterRel = data_filename_set[2] tmpLi = [len(val) for val in clusterRel] iterations = max(tmpLi) * 4 * 2 BASEPATH = modelSavePath innerIteration=10 learning_rate=0.001 IsPrintTrainTime=1 for i in range(len(filenames)): modelPath = BASEPATH + filenames[i] + ".ckpt" starttime=datetime.datetime.now() lossValue1 = self.train(data[i], inputNum,outputNum, 1, innerIteration, modelPath, modelPath, learning_rate) endtime=datetime.datetime.now() averageTime = (endtime - starttime).seconds if IsPrintTrainTime == 1: print("train time cost about : " + str(len(filenames)* averageTime) + "(second)") IsPrintTrainTime = 0
def __init__(self, url_manager, dao, time_ranger): # driver initialization self.driver = webdriver.Chrome(executable_path=r'chromedriver.exe') self.wait_time = 5 self.driver.implicitly_wait(self.wait_time) self.wait = WebDriverWait(self.driver, self.wait_time) # site initialization self.site_url = "http://www.landchina.com/" self.main_url = "http://www.landchina.com/default.aspx?tabid=263&wmguid=75c72564-ffd9-426a-954b-8ac2df0903b7&p=" self.cur_page_num = 1 self.total_page_num = 0 self.total_item = 0 self.cur_start_date = "" self.cur_end_date = "" self.item_per_page = 30 self.max_page = 200 self.time_ranger = time_ranger self.url_manager = url_manager self.dao = dao self.tool = tool.Tool()
def __init__(self, benchmark_path='./PFSP_benchmark_data_set/tai50_20_1.txt'): self.ffe_count = 0 self.ffe_max = 10000 #todo self.generation_count = 0 self.generation_max = 100 self.neighbor_job_seqs = [] self.neighbor_job_fitness = [] self.length_of_tabu_list = 7 #magic number self.tabu_list = collections.deque(maxlen=self.length_of_tabu_list) self.tabu_work_times = 0 #幾次因為某 job_seq 已在tabu list 中,不得選擇該 job_seq self.tool = tool.Tool() self.span = self.tool.io(file_path=benchmark_path) # 測資 self.job_len = len(self.span[0]) #預設測資 tai20_5_1.txt self.min_jobs_seq = [int(e) for e in range(0, self.job_len)] # job初始排序 self.min_makespan = self.tool.makespan( self.span, self.min_jobs_seq) # 計算初始makespan self.experiment_result = [] self.single_benchmark_eval_time = 20 #todo
def __init__(self): #ajax获取淘女郎信息的ajaxURl self.ajaxURL = 'https://mm.taobao.com/tstar/search/tstar_model.do?_input_charset=utf-8' #淘女郎个人详情页面,再加上女郎的userId即可,如:self.mmBaseURL+str(129361161) self.mmBaseURL = 'https://mm.taobao.com/self/aiShow.htm?spm=0.0.0.0.c86RlF&userId=' self.tool = tool.Tool() #去除页面标签类 #设置代理IP地址,防止自己的IP被封 self.proxyURL = 'http://120.193.146.97:843' #ajax的post数据,其中currentPage为申请的淘女郎页码,现在默认为1 self.post = { 'q': '', 'viewFlag': 'A', 'sortType': 'default', 'searchStyle': '', 'searchRegion': 'city:', 'searchFansNum': '', 'currentPage': 1, 'pageSize': 100 } self.postData = urllib.urlencode(self.post) #头部信息 self.Headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0', 'Referer': 'https://mm.taobao.com/search_tstar_model.htm?spm=719.1001036.1998606017.2.Ut0v3A', 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 'Connection': 'keep-alive', 'X-Requested-With': 'XMLHttpRequest' } #设置代理 self.proxy = urllib2.ProxyHandler({'http': self.proxyURL}) #构建opener,相当于urllib2.urlopen self.opener = urllib2.build_opener(self.proxy)
def __init__(self): self.siteURL = 'http://www.meizitu.com/a/list_1_' self.tool = tool.Tool()
def __init__(self): #登录的URL self.loginURL = "https://login.taobao.com/member/login.jhtml" #代理IP地址,防止自己的IP被封禁 self.proxyURL = 'http://120.193.146.97:843' #登录POST数据时发送的头部信息 self.loginHeaders = { 'Host': 'login.taobao.com', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0', 'Referer': 'https://login.taobao.com/member/login.jhtml', 'Content-Type': 'application/x-www-form-urlencoded', 'Connection': 'Keep-Alive' } #用户名 self.username = '******' #ua字符串,经过淘宝ua算法计算得出,包含了时间戳,浏览器,屏幕分辨率,随机数,鼠标移动,鼠标点击,其实还有键盘输入记录,鼠标移动的记录、点击的记录等等的信息 self.ua = '191UW5TcyMNYQwiAiwTR3tCf0J/QnhEcUpkMmQ=|Um5Ockt0TXdPc011TXVKdyE=|U2xMHDJ+H2QJZwBxX39Rb1d5WXcrSixAJ1kjDVsN|VGhXd1llXGNaYFhkWmJaYl1gV2pIdUtyTXRKfkN4Qn1FeEF6R31TBQ==|VWldfS0TMw8xDjYWKhAwHiUdOA9wCDEVaxgkATdcNU8iDFoM|VmNDbUMV|V2NDbUMV|WGRYeCgGZhtmH2VScVI2UT5fORtmD2gCawwuRSJHZAFsCWMOdVYyVTpbPR99HWAFYVMpUDUFORshHiQdJR0jAT0JPQc/BDoFPgooFDZtVBR5Fn9VOwt2EWhCOVQ4WSJPJFkHXhgoSDVIMRgnHyFqQ3xEezceIRkmahRqFDZLIkUvRiEDaA9qQ3xEezcZORc5bzk=|WWdHFy0TMw8vEy0UIQE0ADgYJBohGjoAOw4uEiwXLAw2DThuOA==|WmBAED5+KnIbdRh1GXgFQSZbGFdrUm1UblZqVGxQa1ZiTGxQcEp1I3U=|W2NDEz19KXENZwJjHkY7Ui9OJQsre09zSWlXY1oMLBExHzERLxsuE0UT|XGZGFjh4LHQdcx5zH34DRyBdHlFtVGtSaFBsUmpWbVBkSmpXd05zTnMlcw==|XWdHFzl5LXUJYwZnGkI/VitKIQ8vEzMKNws3YTc=|XmdaZ0d6WmVFeUB8XGJaYEB4TGxWbk5yTndXa0tyT29Ta0t1QGBeZDI=' #密码,在这里不能输入真实密码,淘宝对此密码进行了加密处理,256位,此处为加密后的密码 self.password2 = '7511aa6854629e45de220d29174f1066537a73420ef6dbb5b46f202396703a2d56b0312df8769d886e6ca63d587fdbb99ee73927e8c07d9c88cd02182e1a21edc13fb8e140a4a2a4b53bf38484bd0e08199e03eb9bf7b365a5c673c03407d812b91394f0d3c7564042e3f2b11d156aeea37ad6460118914125ab8f8ac466f' self.post = post = { 'ua': self.ua, 'TPL_checkcode': '', 'CtrlVersion': '1,0,0,7', 'TPL_password': '', 'TPL_redirect_url': 'http://i.taobao.com/my_taobao.htm?nekot=udm8087E1424147022443', 'TPL_username': self.username, 'loginsite': '0', 'newlogin': '******', 'from': 'tb', 'fc': 'default', 'style': 'default', 'css_style': '', 'tid': 'XOR_1_000000000000000000000000000000_625C4720470A0A050976770A', 'support': '000001', 'loginType': '4', 'minititle': '', 'minipara': '', 'umto': 'NaN', 'pstrong': '3', 'llnick': '', 'sign': '', 'need_sign': '', 'isIgnore': '', 'full_redirect': '', 'popid': '', 'callback': '', 'guf': '', 'not_duplite_str': '', 'need_user_id': '', 'poy': '', 'gvfdcname': '10', 'gvfdcre': '', 'from_encoding ': '', 'sub': '', 'TPL_password_2': self.password2, 'loginASR': '1', 'loginASRSuc': '1', 'allp': '', 'oslanguage': 'zh-CN', 'sr': '1366*768', 'osVer': 'windows|6.1', 'naviVer': 'firefox|35' } #将POST的数据进行编码转换 self.postData = urllib.urlencode(self.post) #设置代理 self.proxy = urllib2.ProxyHandler({'http': self.proxyURL}) #设置cookie self.cookie = cookielib.LWPCookieJar() #设置cookie处理器 self.cookieHandler = urllib2.HTTPCookieProcessor(self.cookie) #设置登录时用到的opener,它的open方法相当于urllib2.urlopen self.opener = urllib2.build_opener(self.cookieHandler, self.proxy, urllib2.HTTPHandler) #赋值J_HToken self.J_HToken = '' #登录成功时,需要的Cookie self.newCookie = cookielib.CookieJar() #登陆成功时,需要的一个新的opener self.newOpener = urllib2.build_opener( urllib2.HTTPCookieProcessor(self.newCookie)) #引入工具类 self.tool = tool.Tool()
#transform("Intelligence_info",list) #insert("Tag_info","APT") #delete1("Intelligence_info") #Tag_info #search3("Tag_info") #search_tag("APT") url = "https://x.threatbook.cn/nodev4/vb4/waparticle?threatInfoID=103" #url="https://x.threatbook.cn/article?threatInfoID=118" try: headers = {'User-Agent': 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'} request = urllib2.Request(url, headers=headers) response = urllib2.urlopen(request) # pageCode = response.read() pageCode = response.read().decode('utf-8') tool.Tool() except urllib2.URLError as e: if hasattr(e, 'reason'): print '连接threatbook失败,错误原因', e.reason print("get web success!") print pageCode #document = open('file/save.txt', "w+"); #document.write(pageCode) #pattern3 = re.compile(r'href="http(.*?)"', re.S) #items2 = re.findall(pattern3, pageCode)
print('3. tabu search') print('4. simulated annealing 以選擇之參數每個測資跑20次最小makesspan') print('5. simulated annealing 使用tai20_5_1.txt 計算各種參數組合的最小makesspan') choice = input('請輸入要用哪種演算法訓練:') while choice not in ['1', '2', '3', '4', '5']: choice = input('輸入錯誤,請輸入要用哪種演算法訓練:') if choice == '1': pass elif choice == '2': SA_search = SA.SimulatedAnnealing( 100, 0.95, 40, 0, './PFSP_benchmark_data_set/tai20_5_1.txt') SA_search.search() _tool = tool.Tool() # 畫出此次search makespan的收斂圖 _tool.plot([int(e) for e in range(len(SA_search.makespan_array))], SA_search.makespan_array) elif choice == '3': mypath = './PFSP_benchmark_data_set/' benchmarks = [f for f in listdir(mypath) if isfile(join(mypath, f))] df_experiment_result = pd.DataFrame() for benchmark in benchmarks: Tabu_search = Tabu.TabuSearch(benchmark_path=mypath + benchmark) Tabu_search.experiment() benchmark = benchmark.replace('.txt', '') df_experiment_result[benchmark] = Tabu_search.experiment_result print('實驗結果', df_experiment_result)
def __init__(self): self.siteURL = 'http://wiki.guesslive.com/' self.tool = tool.Tool()
def __init__(self, baseURL): self.baseURL = baseURL self.user_agent = '' self.headers = {'Useg-Agent':self.user_agent} self.tool = tool.Tool()
def test_calcPearson4(self): obj = tool.Tool() x = [1] y = [1] tmp = obj.calcPearson(x, y) assert (obj.calcPearson(x, y))
def __init__(self): self.homeUrl = "https://mm.taobao.com/json/request_top_list.htm" self.tool = tool.Tool() #正则表达式(匹配字符串)
def __init__(self): super().__init__() self.setupUi(self) self.setWindowTitle("串口工具") self.setWindowIcon(qg.QIcon("image/uart.ico")) #load settings self.settings = qc.QSettings("config.ini", qc.QSettings.IniFormat) # self.com = self.settings.value("SETUP/COM_VALUE") self.baud = self.settings.value("SETUP/BAUD_VALUE", 0, type=int) self.databit = self.settings.value("SETUP/DATABIT_VALUE") self.polarity = self.settings.value("SETUP/POLARITY_VALUE") # odd even none if (self.polarity == "odd"): self.polarity = "奇校验" elif (self.polarity == "even"): self.polarity = "偶校验" elif (self.polarity == "none"): self.polarity = "无" self.stopbit = self.settings.value("SETUP/STOPBIT_VALUE") self.flow = self.settings.value("SETUP/FLOW_VALUE") if (self.flow == "cts"): self.flow = "RTS/CTS" print("odd check taest") elif (self.flow == "xon"): self.flow = "XON/XOFF" elif (self.flow == "none"): self.flow = "无" #init gui # self.comboBox_uart.addItem(self.com) self.comboBox_baud.setCurrentText(str(self.baud)) self.comboBox_databit.setCurrentText(self.databit) self.comboBox_polarity.setCurrentText(self.polarity) self.comboBox_stopbit.setCurrentText(self.stopbit) self.comboBox_flow.setCurrentText(self.flow) self.radio_recv_ascii.setChecked(True) self.radio_send_ascii.setChecked(True) self.statusbar.showMessage("status:ready") # signal self.comboBox_baud.currentIndexChanged.connect(self.combox_baud_cb) self.action_start.triggered.connect(self.action_start_cb) self.action_pause.triggered.connect(self.action_pause_cb) self.action_exit.triggered.connect(self.action_stop_cb) self.action_clear.triggered.connect(self.action_clear_cb) self.pushButton.clicked.connect(self.btn_send_cb) # self define self.signal_recv_data.connect(self.update_textbrowser_recv_cb) # logging logging.basicConfig(level=logging.DEBUG, format='[%(asctime)s] [%(levelname)s] %(message)s', filename='log', filemode='w') console = logging.StreamHandler() console.setLevel(logging.INFO) console.setFormatter( logging.Formatter('[%(asctime)s] [%(levelname)s] %(message)s')) logger = logging.getLogger('logger') logger.addHandler(console) self.logger = logger # start thread listen component's status self.uart_run_status = 0 self.uart_init_status = 0 self.uart_start_status = 0 def check_valid_uart(): # com select port_values = [] port_list = list(serial.tools.list_ports.comports()) length = len(port_list) if (0 == len(port_list)): print("can't find serial port") self.comboBox_uart.setCurrentIndex(-1) self.comboBox_uart.clear() else: for i in range(0, len(port_list)): port_values.append(port_list[i][0]) for i in range(len(port_list)): index = self.comboBox_uart.findText( port_values[i], qc.Qt.MatchFixedString) if (index < 0): current_text = self.comboBox_uart.currentText() self.comboBox_uart.addItem(port_values[i]) if ("" == current_text): # print("current text is NULL") sleep(0.04) self.comboBox_uart.setCurrentIndex(-1) else: print("current text is ", current_text) # remove eut count = self.comboBox_uart.count() for i in range(count): data = self.comboBox_uart.itemText(i) is_uart_exist = 0 for j in range(length): if (data == port_values[j]): is_uart_exist = 1 if (0 == is_uart_exist): #remove1 self.comboBox_uart.removeItem(i) current_data = self.comboBox_uart.currentText() if (current_data == data or current_data == ""): self.comboBox_uart.clear() def gui_status_thread(): print("start gui_status_thread ......") while (True): check_valid_uart() if (1 == self.uart_run_status): pass sleep(2) threading.Thread(target=gui_status_thread, daemon=True).start() self.tool = tool.Tool(self, logger.info) #串口工具逻辑处理对象
import urllib2 import urllib import re import sys import tool reload(sys) sys.setdefaultencoding('utf8') page = 10 url = 'http://iranshao.com/bundled_races?month=all&page=' + str(page) user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)' headers = { 'User-Agent' : user_agent } replacetool = tool.Tool() try: request = urllib2.Request(url) response = urllib2.urlopen(request) #将网页的内容传入变量 content = response.read().decode('utf-8') pattern = re.compile('<div class="race-itemlist clearfix">(.+?)</div> -->',re.S) items = re.findall(pattern,content) for item in items: pattern = re.compile('<div class="itemname.*?<strong><a href="/bundled_.*?>(.*?)</a>.*?<div class="attr">(.*?)</div>.*?<span class="itemtime.*?>(.*?)</span>.*?<div class="col-md-3">.*?>(.*?)</div>',re.S) bisaiNmae = re.findall(pattern,item) for k in bisaiNmae: print "\n比赛名称:",k[0].strip(),"\n比赛地点:",k[1].strip(),"\n比赛时间:",k[2].strip(),"\n比赛报名时间:",k[3].strip()
def __init__(self): self.siteURL = 'http://www.cijichina.com' self.baseURL = 'http://www.cijichina.com/search/agent.html?tag=' self.tool = tool.Tool()
def __init__(self): #登录的URL self.loginURL = "https://login.taobao.com/member/login.jhtml" #代理IP地址,防止自己的IP被封禁 self.proxyURL = 'http://120.193.146.97:843' #登录POST数据时发送的头部信息 self.loginHeaders = { 'Host': 'login.taobao.com', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0', 'Referer': 'https://login.taobao.com/member/login.jhtml', 'Content-Type': 'application/x-www-form-urlencoded', 'Connection': 'Keep-Alive' } #用户名 self.username = '******' #ua字符串,经过淘宝ua算法计算得出,包含了时间戳,浏览器,屏幕分辨率,随机数,鼠标移动,鼠标点击,其实还有键盘输入记录,鼠标移动的记录、点击的记录等等的信息 self.ua = '103UW5TcyMNYQwiAiwTR3tCf0J/QnhEcUpkMmQ=|Um5OcktyTXhFfURxSXJPcyU=|U2xMHDJ+H2QJZwBxX39RaFV7W3UpSC5CJVshD1kP|VGhXd1llXGVab1JqU2ZeYFRoX2JAe056RnNJdU9yTnBNcEt1SWcx|VWldfS0QMAswEC4OIBQxByl/KQ==|VmNDbUMV|V2NDbUMV|WGRYeCgGZhtmH2VScVI2UT5fORtmD2gCawwuRSJHZAFsCWMOdVYyVTpbPR99HWAFYVMoRSlIM141SBZPCTlZJFkgCTYOMHtSbVVqJg8wCDd7EW0dcAspVC9GKkdlGHEWfBVyUDtcORAvFyhkGWILZwojHCQbVzZLJkMnRjxBaFdvUBx4GWMeSiBHO1Q0SR18AWwJc1ExTCkHJwkncSc=|WWdHFy0RMQwsECkWKAg9CTcXKxIrFjYCPwIiHiceIwM2DDFnMQ==|WmBAED4QMAwsFyl/KQ==|W2FBET8RMQwsFC4UK30r|XGVFFTtkP3ktVD1HPUMkXzNnW3VVaVRpVXVKf0pqVGhVYFUDVQ==|XWVFFTsVNWVfZ1NzTHdKHDwBIQ8hAT8AOw4xZzE=|XmREFDoUNAgoFikSJhhOGA==|X2dHFzl5LXUJYwZnGkI/VitKIQ8vf0t+Q2NdaFwKKhc3GTcXKREkESVzJQ==|QHpaCiRkMGgUfht6B18iSzZXPBIyDi4QKB0pEkQS|QXhFeFhlRXpaZl9jQ31Ff19nU3NJcVFtUWhIdFRtUHBOelpiQn5AYF5lRXlFZVtiNA==' #密码,在这里不能输入真实密码,淘宝对此密码进行了加密处理,256位,此处为加密后的密码 self.password2 = '7dec75624edf5765b68b8e50e3cfda68b93ac0b20eca0567ba8126ac960799b3701a8fe81d51e73c8916890452fd41932428d84796053872df37e1398dd3e2dbaa5f178ec25e63330effeace4f6b38170afdc5cd69f7436a02afc26ebf7222060ea09424daea8bab9c1e9c84f3491ccc84ee72228ea250f8b93508c40fd70831' self.post = post = { 'ua': self.ua, 'TPL_username': self.username, 'TPL_password': '', 'TPL_checkcode': '', 'CtrlVersion': '1,0,0,7', 'TPL_redirect_url': 'http://i.taobao.com/my_taobao.htm?nekot=udm8087E1424147022443', 'loginsite': '0', 'newlogin': '******', 'from': 'tb', 'fc': 'default', 'style': 'default', 'css_style': '', 'tid': '', 'support': '000001', 'loginType': '4', 'minititle': '', 'minipara': '', 'umto': 'NaN', 'pstrong': '3', 'llnick': '', 'sign': '', 'need_sign': '', 'isIgnore': '', 'full_redirect': '', 'popid': '', 'callback': '', 'guf': '', 'not_duplite_str': '', 'need_user_id': '', 'poy': '', 'gvfdcname': '10', 'gvfdcre': '', 'from_encoding ': '', 'sub': '', 'TPL_password_2': self.password2, 'loginASR': '1', 'loginASRSuc': '1', 'allp': '', 'oslanguage': 'zh-CN', 'sr': '1366*768', 'osVer': 'windows|6.1', 'naviVer': 'firefox|35' } #将POST的数据进行编码转换 self.postData = urllib.urlencode(self.post) #设置代理 self.proxy = urllib2.ProxyHandler({'http': self.proxyURL}) #设置cookie self.cookie = cookielib.LWPCookieJar() #设置cookie处理器 self.cookieHandler = urllib2.HTTPCookieProcessor(self.cookie) #设置登录时用到的opener,它的open方法相当于urllib2.urlopen self.opener = urllib2.build_opener(self.cookieHandler, self.proxy, urllib2.HTTPHandler) # self.opener = urllib2.build_opener(self.cookieHandler, urllib2.HTTPHandler) #赋值J_HToken self.J_HToken = '' #登录成功时,需要的Cookie self.newCookie = cookielib.CookieJar() #登陆成功时,需要的一个新的opener self.newOpener = urllib2.build_opener( urllib2.HTTPCookieProcessor(self.newCookie)) #引入工具类 self.tool = tool.Tool()
def __init__(self): self.ua = UserAgent() #登录的URL self.loginURL = "https://login.taobao.com/member/login.jhtml" #代理IP地址,防止自己的IP被封禁 self.proxyURL = get_proxy() #登录POST数据时发送的头部信息 self.loginHeaders = { 'Host':'login.taobao.com', 'User-Agent' : (self.ua).random, 'Referer' : 'https://login.taobao.com/member/login.jhtml', 'Content-Type': 'application/x-www-form-urlencoded', 'Connection' : 'Keep-Alive' } #用户名 self.username = '******' #ua字符串,经过淘宝ua算法计算得出,包含了时间戳,浏览器,屏幕分辨率,随机数,鼠标移动,鼠标点击,其实还有键盘输入记录,鼠标移动的记录、点击的记录等等的信息 self.ua='108%23Yq%2F%2F1%2FFl%2FYpRH0wWcbUwDWExOPijcLd8nA3JIfmdP3p%2FhLFH0dYaVqWeE7B%2F0jdA5Q9m9W1MJLFSvb1v1pcnht3Uz%2BwJ17spFHNdJwgqE%2FpFh%2FtqxHWpDx9pHLttvdQ9MQPEqvQiLtJqMmjFXMG39TLN7PhgYk1FUwk2UjgxJkiXCxSVJhXNY9VMoDxfa322TeTKPmcqerhU9ApkGYKohQ20XanrcLPyrw4nwLNPWMc6B2TVv%2FSv%2FmvDDwYQ8Mjvvu7G0J%2BWvctzCkvWX897RoD3MNapt1eM7SXZEPT2Jo5qq2BE%2Fjio7prdHG%2Fb%2Bf3zQc8PMaYw8ax5MQ5FTUebvmqqZyBRXXWGhIHIYIEhCmLGUX5k2xwi1g8ihrTEHLMiG5lcm3dnva0x1F3ZAF3bxo%2FzDg1DkbEHpq%2BefWkUzSdqblykfoMTIMuB5yOat6qaMnFQLunDs2lgcKHOQXEkFc17Yaupq0rhIyJqzwUtfiU%2FKZKMQWnuUyNHQBnMkTWP42%2FIMLxfKbwI%2F5nayOjZuVzfu2t4daSappYFafkc7rb91eiWbbOIpmb4huZvddtepzXrB6uptQc5nyHOynGu9QOMrX38wGCCGYFXb5C5H%2BdRJCb0TTa7kJAgcRirsVlRpJIkKTNciXtwbXyqeP7rQ7gnhWfp8KpAL%2FSuxaaDbtkJzKyDXUHR62WhNJp1ge8RdUlVD%2BOgG16DWs4hk%2Ff3jP1EqNDAduB7Iss81rawvCsqH%2BbN%2BIVmAP02h51BvjE3AIhkkbAtGhSHIWZbOkvjW4UjjFON4JmpRm6cRIunTgNGJY1wGTa5%2B%2FUKi2v7mIG5kw6gQF24F7lW1r3G%2FJJmAG9GAn9a%2FG89v5a5dGKOQMlro1LL5Pu31NydPdzYN3HFi%2Bai2aqx%2B98MGdCoO9vyVCAGJJxZ3WnvAKAmEtIzfcoCbQnid7AEU9y%2B6rB8ISS4mcrx5UzFqzXe9sO3jcBlMpdvel05dTP1K%2Fji75MLMH03lB2wJhFJNkBOnQqVhABsr2og0bcWn7cb4tgSF4trI0R0f5fErk%2B8zFVn7qbqARv%2FQOam%2B6kdLgO7d3dQTFT%2BYFwLPbKNhKNJzH2O36FAc5MP8%2B6%2F5SHN1kaCRtEZf86g2LdR82KsWUc1zKkl%2BPbyIw1skYglRePJ3tXtRpSI' #密码,在这里不能输入真实密码,淘宝对此密码进行了加密处理,256位,此处为加密后的密码 self.password2 = '9a39c3fefeadf3d194850ef3a1d707dfa7bec0609a60bfcc7fe4ce2c615908b9599c8911e800aff684f804413324dc6d9f982f437e95ad60327d221a00a2575324263477e4f6a15e3b56a315e0434266e092b2dd5a496d109cb15875256c73a2f0237c5332de28388693c643c8764f137e28e8220437f05b7659f58c4df94685' self.post = post = { 'ua':self.ua, 'TPL_username': self.username, 'TPL_password':'******', 'TPL_redirect_url':'https://i.taobao.com/my_taobao.htm', 'gvfdcre':'68747470733A2F2F6C6F67696E2E74616F62616F2E636F6D2F6D656D6265722F6C6F676F75742E6A68746D6C3F73706D3D61317A30322E312E3735343839343433372E372E35383464373832646B775673334926663D746F70266F75743D7472756526726564697265637455524C3D6874747073253341253246253246692E74616F62616F2E636F6D2532466D795F74616F62616F2E68746D', 'lang' : 'zh_CN', 'loginsite' : '0', 'from' : 'tb', 'fc' : 'default', 'style' : 'default', 'loginType' : '3', 'gvfdcname' : '10', 'loginASR' : '1', 'loginASRSuc' : '0', 'oslanguage' : 'zh_CN', 'sr' : '1440*900', 'osVer' : 'macos|10.134', 'naviVer' : 'chrome|66.03359181', 'osACN' : 'Mozilla', 'osAV' : '5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36', 'appkey' : '00000000', } #将POST的数据进行编码转换 self.postData = urlencode(self.post).encode('utf-8') #设置代理 self.proxy = ProxyHandler({'http':self.proxyURL}) #设置cookie self.cookie = cookiejar.MozillaCookieJar() #设置cookie处理器 self.cookieHandler = HTTPCookieProcessor(self.cookie) #设置登录时用到的opener,它的open方法相当于urlopen self.opener = build_opener(self.cookieHandler,self.proxy,HTTPHandler) #赋值J_HToken self.J_HToken = '' #登录成功时,需要的Cookie self.newCookie = cookiejar.MozillaCookieJar() #登陆成功时,需要的一个新的opener self.newOpener = build_opener(HTTPCookieProcessor(self.newCookie)) #引入工具类 self.tool = tool.Tool()
def test_calcPearson2(self): obj = tool.Tool() x = [1, 2] y = [4, 3.4] tmp = obj.calcPearson(x, y) assert (tmp - (-1) < self.LOSS)
def test_calcPearson0(self): obj = tool.Tool() x = [] y = [] assert (obj.calcPearson(x, y) == None)
def test_calcPearson5(self): obj = tool.Tool() x = [0.1, 0.1, 0.1] y = [0.2, 0.4, 0.5] assert ((obj.calcPearson(x, y) - 0 < self.LOSS) == True)
#from oss import cpu_count import oss print(oss.cpu_count()) print("hello, world\n") import tool print(tool.Tool())
def __init__(self): self.siteURL = "http://mm.taobao.com/json.request.top_list.htm" self.tool = tool.Tool()
def __init__(self): self.tool = tool.Tool()
def __init__(self): #登录的URL self.loginURL = "https://login.taobao.com/member/login.jhtml" #代理IP地址,防止自己的IP被封禁 self.proxyURL = 'http://192.168.254.37:843' #登录POST数据时发送的头部信息 self.loginHeaders = { 'Host': 'login.taobao.com', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0', 'Referer': 'https://login.taobao.com/member/login.jhtml', 'Content-Type': 'application/x-www-form-urlencoded', 'Connection': 'Keep-Alive' } #用户名 self.username = '******' #ua字符串,经过淘宝ua算法计算得出,包含了时间戳,浏览器,屏幕分辨率,随机数,鼠标移动,鼠标点击,其实还有键盘输入记录,鼠标移动的记录、点击的记录等等的信息 self.ua = '067#bxPmKDmxh+Pmo7hkmmmmmQTuo0q9f5qwbFl6o3hAz9mYAa4xmPLX9Zl2Mk7PZ+VkbQ75ordmzP4Sb0PO3OZvfQgr4IlPF9LhmhTRRIusXej2iOPoM9kQyOTBgheRmLmFmfm3+5tsJBqW0yyhkUTfDYqZA5mqWDQmP7PmZ9HHJIY5j8zcfferP8A29FXD+3im7hLhmhTRzkusXaSmePPoM9kQyOTBgheRmLmFmfm3+5tsJBqYQeHhkUTfDYqZA5mqWDQmP7PmZ9iJJIY5KlLUfferP8A29FXD+3im7hLhmhTRZ0usXawatlPoM9kQyOTBgheRmLh6mfmPcTarsflhmmDmhJL6sGnx8DjHI08bmfm8mm9S89OR8c8w79g0g7PmhPeoyzl7mfmwIfkl1kIWg7PmhPeoyzr6mfmPcTarsflhmhuJhAT6ld8x8D9rakJwe2enqW8wfK0qWZMR8FmhmmjomJcnXKDgmfmcuZQJD8Pti3I9ybGoZrGgjFcaEhDhmmlmTJ0m50IxUzGQmfmPmfZO/+Lhmm9ocjWyEDPmh7mhOnQxVulhmh/5TAz2UPrx/TnMsBZxgcP0DI2yYmPmhrh8LT3uKB4hmm7mmZd0mBP9rQuhmQ7mm+uRzImkmDmmR/xs8mQEmmhi1+uDhxlmm+0nzImms7mmRJ9s8mk6k7PmHfkemycDv+Wios8x8Rc5MEWSt2MIHGy7tGLagUG5HUcVbrMO8Rc5MEWStSxYv/3Xn6qUMSNs1Upt3F3J/vkiqRD5TIf5EillNr8IFQzsNc/Aq5qd8/0yKEtUHIhrHvTlNr8IFwBiv++vuvLxKNRNjJpC9aoxsErEuIKaK0+e1U0E3CgxKNRNKNr+tSxYv/3Xn0g+K0vyEIkEHEL58nQG8sb0T04sDKDeN5/CJck5tk+3xI4uj8WiKNxCH2qaxRx0G3MCqwRniW/yolqW3ocZjRV+h5T2EBO603LIo0cJBcJdLa9dzRGaqz5abSoxXEXEt3LIo0cJZDPmwreNEyPKfxLVLx6Ti4ujJwdSWMIa83ZjRaeq+mPmQfhfunQ1J/Z4OxDhmmlmTAImEkIxMefbmfm8mmTP8VLF8c8P4pT0g7PmhPeoyzlgmfmWtZkLD/ttiUjM9MQoblCTqkq5B18qMif7mfmT7Dkl1m48FlKhWn1AhXMl3Ghlul4bmfm8mmc/8bQF8c8PKQP0LmPmZL8hdJxaqPywD31J67KUMZR7MAbwLmPmhuOhdJ0WMflhmmDmhPm0sJ7x8DFLZI8Fmfm+Pf8sJBTiw6mhmmjomzcnzkubmfmUQ79g804a8c8wnjT0S8qHWwqykWwHxflhmmDmhJP6szlx8DjOek8Fmfm3+DtsJBq0/aXhkUTfDYqZA5mqWDQmP7PmZ9iRJIY5R0o2fferP8A29FXD+3im7+Lhmm9ocjWyP7PmZ9ivJIY5Mpc7fferP8A29FXD+3im7hLhmhTRZ0usXahB/OPoM9kQyOTBgheRmLmFmfm3+xgsJBqNq6ohkUTfDYqZA5mqWDQmP7PmZ9H5JIY5jnGKfferP8A29FXD+3im7mlhmhuJhAO6wVux8Dg8e0J4xabw4SOA9t+eTPqy4D===' #密码,在这里不能输入真实密码,淘宝对此密码进行了加密处理,256位,此处为加密后的密码 self.password2 = '610c85da37069c430299b6e3358cbec3934b5dad83275f56370db62e3d6feb9b2eb857c7a37b999304459de08bdb1ab142118984d7b279f56872a44e8cf41393eaaee542aece456875a089505562c0123ce982567c03f324f2a58dc720d313db9f0c95ca2037681bb2c689399c64d62b04b2e1e1441298c5e565d369495cf8c7' self.post = post = { 'TPL_username': "******", 'TPL_password': "", 'ncoSig': "", 'ncoSessionid': "", 'ncoToken': "6b67f0f2b6e3d9bd71046780742305110231b8b9", 'slideCodeShow': "false", 'loginsite': "0", 'newlogin': "******", 'TPL_redirect_url': "https://www.taobao.com/", 'from': "tb", 'fc': "default", 'style': "default", 'css_style': "", 'keyLogin': "******", 'qrLogin': "******", 'newMini': "false", 'newMini2': "false", 'tid': "", 'loginType': "3", 'minititle': "", 'minipara': "", 'pstrong': "", 'sign': "", 'need_sign': "", 'isIgnore': "", 'full_redirect': "", 'popid': "", 'callback': "", 'guf': "", 'not_duplite_str': "", 'need_user_id': "", 'poy': "", 'gvfdcname': "10", 'gvfdcre': "68747470733A2F2F6C6F67696E2E74616F62616F2E636F6D2F6D656D6265722F6C6F676F75742E6A68746D6C3F73706D3D613231626F2E35303836322E3735343839343433372E372E6F5830596C6326663D746F70266F75743D7472756526726564697265637455524C3D68747470732533412532462532467777772E74616F62616F2E636F6D253246", 'from_encoding': "", 'sub': "", 'TPL_password_2': "610c85da37069c430299b6e3358cbec3934b5dad83275f56370db62e3d6feb9b2eb857c7a37b999304459de08bdb1ab142118984d7b279f56872a44e8cf41393eaaee542aece456875a089505562c0123ce982567c03f324f2a58dc720d313db9f0c95ca2037681bb2c689399c64d62b04b2e1e1441298c5e565d369495cf8c7", 'loginASR': "1", 'loginASRSuc': "1", 'allp': "", 'oslanguage': "zh-CN", 'sr': "1680*1050", 'osVer': "windows|6.1", 'naviVer': "firefox|47", 'miserHardInfo': "", 'um_token': "HV01PAAZ0be3faae72507cee576ca6f800064808", 'ua': "067#bxPmKDmxh+Pmo7hkmmmmmQTuo0q9f5qwbFl6o3hAz9mYAa4xmPLX9Zl2Mk7PZ+VkbQ75ordmzP4Sb0PO3OZvfQgr4IlPF9LhmhTRRIusXej2iOPoM9kQyOTBgheRmLmFmfm3+5tsJBqW0yyhkUTfDYqZA5mqWDQmP7PmZ9HHJIY5j8zcfferP8A29FXD+3im7hLhmhTRzkusXaSmePPoM9kQyOTBgheRmLmFmfm3+5tsJBqYQeHhkUTfDYqZA5mqWDQmP7PmZ9iJJIY5KlLUfferP8A29FXD+3im7hLhmhTRZ0usXawatlPoM9kQyOTBgheRmLh6mfmPcTarsflhmmDmhJL6sGnx8DjHI08bmfm8mm9S89OR8c8w79g0g7PmhPeoyzl7mfmwIfkl1kIWg7PmhPeoyzr6mfmPcTarsflhmhuJhAT6ld8x8D9rakJwe2enqW8wfK0qWZMR8FmhmmjomJcnXKDgmfmcuZQJD8Pti3I9ybGoZrGgjFcaEhDhmmlmTJ0m50IxUzGQmfmPmfZO/+Lhmm9ocjWyEDPmh7mhOnQxVulhmh/5TAz2UPrx/TnMsBZxgcP0DI2yYmPmhrh8LT3uKB4hmm7mmZd0mBP9rQuhmQ7mm+uRzImkmDmmR/xs8mQEmmhi1+uDhxlmm+0nzImms7mmRJ9s8mk6k7PmHfkemycDv+Wios8x8Rc5MEWSt2MIHGy7tGLagUG5HUcVbrMO8Rc5MEWStSxYv/3Xn6qUMSNs1Upt3F3J/vkiqRD5TIf5EillNr8IFQzsNc/Aq5qd8/0yKEtUHIhrHvTlNr8IFwBiv++vuvLxKNRNjJpC9aoxsErEuIKaK0+e1U0E3CgxKNRNKNr+tSxYv/3Xn0g+K0vyEIkEHEL58nQG8sb0T04sDKDeN5/CJck5tk+3xI4uj8WiKNxCH2qaxRx0G3MCqwRniW/yolqW3ocZjRV+h5T2EBO603LIo0cJBcJdLa9dzRGaqz5abSoxXEXEt3LIo0cJZDPmwreNEyPKfxLVLx6Ti4ujJwdSWMIa83ZjRaeq+mPmQfhfunQ1J/Z4OxDhmmlmTAImEkIxMefbmfm8mmTP8VLF8c8P4pT0g7PmhPeoyzlgmfmWtZkLD/ttiUjM9MQoblCTqkq5B18qMif7mfmT7Dkl1m48FlKhWn1AhXMl3Ghlul4bmfm8mmc/8bQF8c8PKQP0LmPmZL8hdJxaqPywD31J67KUMZR7MAbwLmPmhuOhdJ0WMflhmmDmhPm0sJ7x8DFLZI8Fmfm+Pf8sJBTiw6mhmmjomzcnzkubmfmUQ79g804a8c8wnjT0S8qHWwqykWwHxflhmmDmhJP6szlx8DjOek8Fmfm3+DtsJBq0/aXhkUTfDYqZA5mqWDQmP7PmZ9iRJIY5R0o2fferP8A29FXD+3im7+Lhmm9ocjWyP7PmZ9ivJIY5Mpc7fferP8A29FXD+3im7hLhmhTRZ0usXahB/OPoM9kQyOTBgheRmLmFmfm3+xgsJBqNq6ohkUTfDYqZA5mqWDQmP7PmZ9H5JIY5jnGKfferP8A29FXD+3im7mlhmhuJhAO6wVux8Dg8e0J4xabw4SOA9t+eTPqy4D==", } #将POST的数据进行编码转换 self.postData = urllib.urlencode(self.post) #设置代理 self.proxy = urllib2.ProxyHandler({'http': self.proxyURL}) #设置cookie self.cookie = cookielib.LWPCookieJar() #设置cookie处理器 self.cookieHandler = urllib2.HTTPCookieProcessor(self.cookie) #设置登录时用到的opener,它的open方法相当于urllib2.urlopen self.opener = urllib2.build_opener(self.cookieHandler, urllib2.HTTPHandler) #赋值J_HToken self.J_HToken = '' #登录成功时,需要的Cookie self.newCookie = cookielib.CookieJar() #登陆成功时,需要的一个新的opener self.newOpener = urllib2.build_opener( urllib2.HTTPCookieProcessor(self.newCookie)) #引入工具类 self.tool = tool.Tool()
def __init__(self): self.siteURL = 'http://mm.taobao.com/json/request_top_list.htm' self.tool = tool.Tool()
def test_calcPearson3(self): obj = tool.Tool() x = [4, 5.3, 6] y = [4, 5, 6] tmp = obj.calcPearson(x, y) assert ((tmp - 0.98532927816 < self.LOSS) == True)