Пример #1
0
    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)
Пример #2
0
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']
Пример #3
0
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
Пример #4
0
 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()
Пример #5
0
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
Пример #6
0
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)
Пример #7
0
 def cook_history(self):
     mysql.insert(
         'cook_history', {
             'fid': self.cook,
             'uid': self.uid,
             'did': self.did,
             'num': self.num,
             'stamp': time.time()
         })
Пример #8
0
 def feedback(self):
     mysql.insert(
         'feedback', {
             'uid': self.uid,
             'did': self.did,
             'num': self.num,
             'fb': self.fb,
             'stamp': time.time()
         })
Пример #9
0
 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
Пример #10
0
 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
         })
Пример #11
0
 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
         })
Пример #12
0
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']])
Пример #13
0
 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))
Пример #14
0
 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'
Пример #15
0
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)
Пример #16
0
    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))
Пример #17
0
    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))
Пример #18
0
    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)
Пример #19
0
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
Пример #20
0
 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))
Пример #21
0
 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()
Пример #22
0
    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))
Пример #23
0
    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))
Пример #24
0
    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))
Пример #25
0
 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))
Пример #26
0
 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))
Пример #27
0
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)
Пример #28
0
    '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)
Пример #29
0
def insert(table, row):
    if mysql.insert(table, row):
        return True
    return False
Пример #30
0
    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()
Пример #31
0
#coding=utf8
import mysql
import time 

row = {'desk': '0001', 'comment': u'这个好难吃', 'stamp': time.time()}

for i in range(300):
    mysql.insert('comment', row)