def search_items(self): self._get_cookie() item_name = input('请输入商品名称') while True: item_page = input('请输入爬取的页数最大100') try: page = int(item_page) if page > 0 and page < 100: break else: print('请输入正确页数') except: print('请输入数字') for i in range(page): url = 'https://s.taobao.com/search?q='+ item_name + '&s=' +str(page*44) req = res.get(url,headers=self.headers,) item_dict = {} items_data = re.findall(r'{"i2iTags".*?,"risk":""}',req.text) for data in items_data: data = json.loads(data) #序列化data 消除=格式错误 detail_url = data['detail_url'] title = data['raw_title'] view_price = data['view_price'] nick = data['nick'] comment_count =data['comment_count'] values = "'{}'," * 4 + "'{}'" values = values.format(title,nick,detail_url,view_price,comment_count) sql = 'insert into tb_items (title,nick,detail_url,view_price,comment_count) values ({})'.format(values) insert(sql)
def sync_uid(): result = mysql.get('id', {'name': 'uid'}) if len(result) == 0: mysql.insert('id', {'name': 'uid', 'num': 0}) logic.global_uid = 0 else: logic.global_uid = result[0]['num']
def new_user(): while True: user = input("\033[1;37m%s\033[0m" % "username:"******"\033[0;31m%s\033[0m" % "\nUsername can't be empty!\n") else: results = mysql.select(user) if results: print("\033[0;31m%s\033[0m" % "\n%s already exists,please select an other.\n" % user) else: while True: pwd = input("\033[1;37m%s\033[0m" % "password:"******"\033[1;37m%s\033[0m" % "password again:") if pwd and pwd == pwd_again: if len(pwd) >= 8: mysql.insert(user, pwd) print("\033[0;31m%s\033[0m" % "\n%s Register successful!\n" % user) break else: print("\033[0;31m%s\033[0m" % "\nPassword must not be less than 8!") else: if pwd == pwd_again: print("\033[0;31m%s\033[0m" % "\nPassword can't be empty!\n") else: print("\033[0;31m%s\033[0m" % "\nPassword mismatch!\n") break
def receive(self, uid): global uids uid = int(uid) one = uids.get(uid) if one is None: return if one.status == 'left': self.done.insert(0, one) self.done = self.done[0:50] one.set_done() one.cook = self.fid one.cookname = self.name table = tables.get(one.desk) if len(table.left) + len(table.doing) == 0: feedbackmsg.add(one.desk) mysql.insert('waiter_receive_history', { 'fid': self.fid, 'uid': uid, 'stamp': time.time() }) one.passed = 1 self.passed.insert(0, one) self.passed = self.passed[0:50] left2msg.change() self.set_future()
def saveProfile(uid, rankid): if mysql.select('quicks', 'count(*) as count', 'where uid="' + str(uid) + '"')[0]['count'] > 0: mysql.update('quicks', 'uid=' + str(uid), 'rankid=' + rankid) else: mysql.insert('quicks', ['uid', 'rankid'], (uid, rankid)) return True
def partOne(): _day = "今日" # _day="昨日" height_10cm = "非st 非创业板 非科创板 非新股" up_all = crawl_length(_day + "涨幅大于0") down_all = crawl_length(_day + "涨幅小于0") up_5 = crawl_length(_day + "涨幅大于5 " + height_10cm) down_5 = crawl_length(_day + "跌幅大于5 " + height_10cm) up_num = crawl_length(_day + "涨停" + height_10cm) down_num = crawl_length(_day + "跌停 " + height_10cm) up_10_2 = crawl_length(_day + "二连板 " + height_10cm) up_highest = crawl_highest(_day + "二连板以上 " + height_10cm) a = Sentiment(str(datetime.datetime.now().date()), up_5=up_5, down_5=down_5, up_num=up_num, down_num=down_num, up_all=up_all, down_all=down_all, up_10_2=up_10_2, up_highest=up_highest) # a=Sentiment('2022-01-14',up_5=up_5,down_5=down_5,up_num=up_num,down_num=down_num,up_all=up_all,down_all=down_all,up_10_2=up_10_2,up_highest=up_highest) # a = Sentiment('2021-11-30', 166, 1740, 64, 2, 2899, 1583, 9, 5) print(a) insert(a)
def cook_history(self): mysql.insert( 'cook_history', { 'fid': self.cook, 'uid': self.uid, 'did': self.did, 'num': self.num, 'stamp': time.time() })
def feedback(self): mysql.insert( 'feedback', { 'uid': self.uid, 'did': self.did, 'num': self.num, 'fb': self.fb, 'stamp': time.time() })
def insert(self): self.pre_insert and self.pre_insert() params = {} for k, v in self.__mapping__.iteritems(): if v.insertable: if not hasattr(self, k): setattr(self, k, v.default) params[v.name] = getattr(self, k) mysql.insert('%s' % self.__table__, **params) return self
def order_history(self): mysql.insert( 'order_history', { 'uid': self.uid, 'did': self.did, 'num': self.num, 'puid': self.puid, 'desk': self.desk, 'stamp': self.submit })
def store(self): #insert into order_history global tables mysql.insert( 'order_history', { 'uid': self.uid, 'did': self.did, 'num': self.num, 'price': self.price, 'desk': self.desk, 'pid': tables.get(self.desk).pid, 'stamp': self.submit })
def rank_record(): # 후원자 목록 가져오기 supporters = mysql.select('supporters as a', 'a.*, b.rankid', 'JOIN quicks as b ON a.uid = b.uid') if len(supporters) > 0: for spt in supporters: rankid = spt['rankid'] href = 'http://saber.tarcle.kr/api/profile/' + rankid req = urllib.request.Request(href, headers={'api': 'beatsaber'}) text = urllib.request.urlopen(req).read().decode('utf-8') player = json.loads(text) mysql.insert('rank_records', ['rankid', 'rank_global', 'rank_country', 'pp'], [rankid, player['rank_global'], player['rank_country'], player['pp']])
def post(self): fid = self.get_argument('fid') name = self.get_argument('name') passwd = self.get_argument('passwd') role = json_decode(self.get_argument('role')) role = ','.join(role) result = mysql.insert('faculty', {'fid': fid, 'name': name, 'role': role}) result2 = mysql.insert('password', {'fid': fid, 'passwd': passwd}) if result and result2: response = {'status': 'ok'} else: mysql.delete('faculty', {'fid': fid}) mysql.delete('password', {'fid': fid}) response = {'status': 'error'} self.write(json_encode(response))
def cash(self, fid): if len(self.left) + len(self.doing) > 0: return 'failure' if len(self.done) == 0: return 'failure' self.payed = self.done self.orders = [] self.left = [] self.doing = [] self.done = [] self.cancel = [] cash_time = time.time() for one in self.payed: one.status = 'payed' one.store() mysql.insert( 'cash_history', { 'fid': fid, 'uid': one.uid, 'pid': self.pid, 'status': 'success', 'stamp': cash_time }) if one.fb is not None: mysql.insert('feedback', { 'uid': one.uid, 'fb': one.fb, 'stamp': cash_time }) for one in self.delete: one.status = 'delete' one.store() mysql.insert( 'cash_history', { 'fid': fid, 'uid': one.uid, 'pid': self.pid, 'status': 'failure', 'stamp': cash_time }) # to gprinter printer.gprint(self.to_printer()) self.delete = [] self.payed = [] self.gdemand = '' if self.comment != '': mysql.insert('comment', { 'desk': self.table, 'comment': self.comment, 'stamp': time.time() }) self.comment = '' cleanmsg.add(self.table) feedbackmsg.remove(self.table) #requestmsg.remove(self.table) idle_desks.add(self.table) return 'success'
def submitQuestion(): print request.method if request.method == 'POST': question = request.form['question'] question = question.encode('utf-8') q_file = open('./qa/questions_for_test.txt', 'w') print >> q_file, question q_file.close() out = os.popen('./getAnswer.sh') answers = out.read() print "answer.." print answers mysql.insert(question, answers) answerlist = answers.strip().split('\n') top5list = mysql.selectTop5() return render_template('answer_page.html', question=question, answers=answerlist, top5list=top5list)
def post(self): did = self.get_argument('did') name = self.get_argument('name') order = self.get_argument('order') price = self.get_argument('price') price2 = self.get_argument('price2') base = self.get_argument('base') cid = self.get_argument('cid') who = self.get_argument('who', 'cook') #print who desp = self.get_argument('desp') order = int(order) price = float(price) price2 = float(price2) base = float(base) picture = '' pic_dir = os.path.join(logic.data_dir, 'pictures') if not os.path.isdir(pic_dir): os.mkdir(pic_dir) if self.request.files: metas = self.request.files['picture'] for meta in metas: file_name = meta['filename'] content = meta['body'] ext = os.path.splitext(file_name)[-1] picture = str(did) + ext full_path = os.path.join(pic_dir, picture) with open(full_path, 'wb') as f: f.write(content) row = { 'did': did, 'name': name, 'ord': order, 'price': price, 'price2': price2, 'base': base, 'cid': cid, 'who': who, 'desp': desp, 'pic': picture } result = mysql.insert('diet', row) if result: logic.diet[did] = row response = {'status': 'ok'} else: if os.path.isfile(full_path): os.remove(full_path) response = {'status': 'error'} #content = name+'\n'+ ('%s' % price) +'\n' #content = content.encode('gb18030') #printer.gprint(bytes(content)) self.write(json_encode(response))
def post(self): desk = json_decode(self.get_argument('desk')) desk = desk.upper() res = mysql.insert('desks', {'desk': desk}) if res: path = os.path.dirname(__file__) + '/static/desks/' + desk + '.png' img = qrcode.make(desk) img.save(path) data.update_desk() response = {'status': 'ok'} self.write(json_encode(response))
def _parse(self,area,res): soup = BeautifulSoup(res.text,'lxml') for details in soup.find_all(class_="net-info"): type = details.find('a').get_text() name = details.find('strong').get_text() data = details.find('p').get_text() location = re.findall('网点地址:(.*)派送区域',data)[0] values = "'{}'," * 3 + "'{}'" values =values.format(name,location,type,area) sql = 'insert into kuaidi (name,location,type,area) values ({})'.format(values) mysql.insert(sql)
def insert_many(table, rows): if table not in ('comment', 'order_history', 'customer_history', 'cook_history', 'diet_stat', 'cook_stat'): return False try: p = r.pipeline() for row in rows: th = r.get('%s_th' % table) row['th'] = int(th) p.lpush('%s' % table, th) p.hmset('%s:%s' % (table, th), row) p.incr('%s_th' % table) mysql.insert(table, row) p.execute() #insert into mysql return True except Exception, e: logging.error(e) return False
def post(self): cid = self.get_argument('cid') cname = self.get_argument('cname') corder = self.get_argument('corder') cdesp = self.get_argument('cdesp') corder = int(corder) row = {'cid':cid, 'name': unicode(cname), 'ord': corder, 'desp': cdesp} result = mysql.insert('category', row) if result: logic.category[cid] = row response = {'status': 'ok'} else: response = {'status': 'error'} self.write(json_encode(response))
def ins(self, ins): if ins[0] == '+': did = ins[1] if did not in self.content: result = mysql.insert('mask', {'did': did}) if result: self.content.add(did) elif ins[0] == '-': did = ins[1] if did in self.content: result = mysql.delete('mask', {'did': did}) if result: self.content.remove(did) self.stamp = time.time() self.set_future()
def post(self): fid = json_decode(self.get_argument('fid')) name = json_decode(self.get_argument('name')) role = json_decode(self.get_argument('role')) password = json_decode(self.get_argument('passwd')) res = mysql.insert('faculty', { 'fid': fid, 'name': name, 'role': role, 'password': password }) if res: response = {'status': 'ok'} else: response = {'status': 'error'} self.finish(json_encode(response))
def post(self): #attention to variable type did = int(self.get_argument('did')) name = str(self.get_argument('name')) price = float(self.get_argument('price')) base = float(self.get_argument('base')) cid = int(self.get_argument('cid')) order = int(self.get_argument('order')) desc = str(self.get_argument('desc')) picture = '' if self.request.files: metas = self.request.files['picture'] for meta in metas: file_name = meta['filename'] content = meta['body'] ext = os.path.splitext(file_name)[-1] picture = str(uuid.uuid4()) + ext full_path = os.path.join(os.path.dirname(__file__), 'static/pictures/' + picture) with open(full_path, 'wb') as f: f.write(content) # store into database res = mysql.insert( 'diet', { 'did': did, 'name': name, 'price': price, 'base': base, 'cid': cid, 'ord': order, 'description': desc, 'picture': picture }) if res: data.diet = mysql.get_all('diet') response = {'status': 'ok'} else: os.remove( os.path.join(os.path.dirname(__file__), 'static/pictures/' + picture)) response = {'status': 'error'} self.finish(json_encode(response))
def post(self): cid = json_decode(self.get_argument('cid')) name = json_decode(self.get_argument('name')) order = json_decode(self.get_argument('order')) desc = json_decode(self.get_argument('desc')) row = { 'cid': int(cid), 'name': name, 'ord': int(order), 'description': desc } res = mysql.insert('category', row) if res: data.category = mysql.get_all('category') response = {'status': 'ok'} else: response = {'status': 'err'} self.finish(json_encode(response))
def post(self): name = self.get_argument('name') ip = self.get_argument('ip') result = mysql.insert('printers', {'name': name, 'ip': ip}) if result: #path = os.path.join(logic.data_dir, 'desks/' + desk) #data = desk #img = qrcode.make(data) #img.save(path) if name not in logic.printers: logic.printers[name] = ip response = {'status': 'ok'} else: response = {'status': 'error'} self.write(json_encode(response))
def post(self): desk = self.get_argument('desk') desk = desk.upper() seats = self.get_argument('seats') seats = int(seats) result = mysql.insert('desks', {'desk': desk, 'num': seats}) if result: #path = os.path.join(logic.data_dir, 'desks/' + desk) #data = desk #img = qrcode.make(data) #img.save(path) if desk not in logic.desks: logic.desks.add(desk) if desk not in logic.tables: logic.tables[desk] = logic.Table(desk) response = {'status': 'ok'} else: response = {'status': 'error'} self.write(json_encode(response))
def VmInfo(vm, user, pwd, depth=1): maxdepth = 10 if hasattr(vm, 'childEntity'): if depth > maxdepth: return vmList = vm.childEntity for c in vmList: VmInfo(c, user, pwd, depth + 1) return disk = '' vm_hardware = vm.config.hardware for each_vm_hardware in vm_hardware.device: if (each_vm_hardware.key >= 2000) and (each_vm_hardware.key < 3000): disk += str(each_vm_hardware.capacityInKB / 1024 / 1024) + 'GB ' summary = vm.summary vmname = summary.config.name mem = summary.config.memorySizeMB cpu = summary.config.numCpu state = summary.runtime.powerState ip = summary.guest.ipAddress uuid = summary.config.uuid if ip is not None: val = getVal(ip, user, pwd) if val: if user == 'zhangjun13': li = [ ip, val[0], mem, cpu, disk, val[1], 1, state, vmname, uuid ] print li insert(li) else: li = [ ip, val[0], mem, cpu, disk, val[1], 0, state, vmname, uuid ] print li insert(li) else: li = [ ip, 'windows', mem, cpu, disk, 'windows', 0, state, vmname, uuid ] print li insert(li)
'qluin': 'os-ppuF2jhG56TzT1mLXvuMJ4tfU', 'qlskey': 'v0ae789cc115c9b0666819fe57c92363', 'scenes': '5' } data = urllib.parse.urlencode(values) req = urllib.request.Request(url, data.encode('utf-8')) req.add_header( 'User-Agent', 'Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/7.0.3(0x17000321) NetType/WIFI Language/zh_CN' ) response = urllib.request.urlopen(req) # 转换为json json_data = json.loads( str(response.read().decode('utf-8')).replace("\\x2B", "").replace("\\x20", "")) print(json_data) json_res_code = json_data.get("retcode") if json_res_code == '0': json_array = json_data.get("stock") for out in json_array: print(out.get("code") + out.get("name")) sql.insert(out.get("code"), out.get("name")) else: print(json_res_code)
def insert(table, row): if mysql.insert(table, row): return True return False
def check(self, module, output, waf): global vul_file url_struct = urllib.parse.urlparse(self.url) if url_struct.query != '': if module == 'all': self.run() if module == 'sql': i = self.Integer_sqlinj_scan() j = self.Str_sqlinj_scan(waf) k = self.Sql_error_scan() if i: output.insert("", "end", values=(i, " +1", "yes", "High", self.url[self.url.find("?") + 1:self.url.find("=")])) mysql.insert( i + "", "+1", "yes", "High", self.url[self.url.find("?") + 1:self.url.find("=")]) print(get_ctime() + '\t' + self.url + ":SQL injection!") elif j: output.insert("", "end", values=(j.split("~")[1], j.split("~")[0], "yes", "High", self.url[self.url.find("?") + 1:self.url.find("=")])) mysql.insert( j.split("~")[1], j.split("~")[0], "yes", "High", self.url[self.url.find("?") + 1:self.url.find("=")]) print(get_ctime() + '\t' + self.url + ":SQL injection!") elif k: output.insert("", "end", values=(k, "\'", "yes", "High", self.url[self.url.find("?") + 1:self.url.find("=")])) mysql.insert( k + "", "\'", "yes", "High", self.url[self.url.find("?") + 1:self.url.find("=")]) print(get_ctime() + '\t' + self.url + ":SQL injection!") else: output.insert("", "end", values=(self.url, "", "no", "", self.url[self.url.find("?") + 1:self.url.find("=")])) mysql.insert( self.url, "\'", "no", "", self.url[self.url.find("?") + 1:self.url.find("=")]) # print get_ctime() + '\t' + self.url + ":SQL injection!"+ self.Str_sqlinj_scan() # self.logfile.write(get_ctime() + '\t' + self.url + ":SQL injection!" + '\n') # self.logfile.flush() # vul_file.write(self.url + '\t' + "SQL injection!" + '\n') # vul_file.flush() if module == 'xss': if self.Xss_scan(): print(get_ctime() + '\t' + self.url + ":XSS!") self.logfile.write(get_ctime() + '\t' + self.url + ":XSS!" + '\n') self.logfile.flush() vul_file.write(self.url + '\t' + "XSS!" + '\n') vul_file.flush() if module == 'rfi': if self.FileInclude_scan(): print(get_ctime() + '\t' + self.url + ":RFI!") self.logfile.write(get_ctime() + '\t' + self.url + ":RFI!" + '\n') self.logfile.flush() vul_file.write(self.url + '\t' + "RFI!" + '\n') vul_file.flush()
#coding=utf8 import mysql import time row = {'desk': '0001', 'comment': u'这个好难吃', 'stamp': time.time()} for i in range(300): mysql.insert('comment', row)