def refresh_cookies(self, ck_dir): """ refresh cookie db """ idx = 0 # del all cookies if os.path.isdir(cookie_dir): shutil.rmtree(cookie_dir) os.mkdir(cookie_dir) # add cookie from folder accounts = [] for root, dirs, files in os.walk(ck_dir): for filespath in files: full_name = os.path.join(root, filespath) with open(full_name) as f: for line in f.readlines(): if line: u, p = line.split('\t') if u and p: accounts.append((u.strip(), p.strip())) # save cookie for u, p in accounts: opener = MechanizeOpener( user_agent= 'Baiduspider+(+http://www.baidu.com/search/spider.htm)', timeout=10) opener.browser.set_proxies({'http': get_ip_proxy(size=10)}) lm = WeiboLogin(opener, u, p) try: status = lm.login() except Exception as ex: self.logger.warn("login error:%s" % u) self.logger.error(ex) continue if status: idx += 1 opener.cj.save(os.path.join(cookie_dir, '%d.txt' % idx), ignore_discard=True, ignore_expires=True) self.validated.append("%s\t%s\r\n" % (u, p)) opener.close()