def __init__(self, id=None, parent=None): ''' 程序初始化 :param parent: ''' super(scantronInfoWin, self).__init__(parent) self.setupUi(self) self.retranslateUi(self) headerView = self.tableWidget.horizontalHeader() headerView.setSectionResizeMode(QHeaderView.Stretch) self.setWindowFlags( Qt.Window | Qt.FramelessWindowHint | Qt.WindowSystemMenuHint | Qt.WindowMinimizeButtonHint | Qt.WindowMaximizeButtonHint) # 窗口无边框 db = db_class() db.open() result = db.select_scantronInfo_condition(id) db.close() self.label_1.setText(str(result[0][4])) self.tableWidget.setRowCount(len(eval(result[0][0]))) for n, (a, r, c, s) in enumerate( zip(eval(result[0][0]), eval(result[0][1]), eval(result[0][2]), eval(result[0][3]))): self.tableWidget.setItem(n, 0, QTableWidgetItem(a[0])) self.tableWidget.setItem(n, 1, QTableWidgetItem(a[1])) self.tableWidget.setItem(n, 2, QTableWidgetItem(a[2])) self.tableWidget.setItem(n, 3, QTableWidgetItem(r)) self.tableWidget.setItem(n, 4, QTableWidgetItem(c)) self.tableWidget.setItem(n, 5, QTableWidgetItem(s)) self.pushButton_close.clicked.connect(self.close)
def btn_student(self): self.stackedWidget.setCurrentIndex(3) db = db_class() db.open() datas = db.select_student_condition(self.userid) db.close() self.load_table_s(datas)
def __init__(self, id=None, parent=None): ''' 程序初始化 :param parent: ''' super(infoWin, self).__init__(parent) self.setupUi(self) self.retranslateUi(self) self.setWindowFlags(Qt.Window | Qt.FramelessWindowHint | Qt.WindowSystemMenuHint | Qt.WindowMinimizeButtonHint | Qt.WindowMaximizeButtonHint) # 窗口无边框 db = db_class() db.open() result = db.select_uid('hero', id) db.close() self.widget_2.setStyleSheet("image: url(" + result[0][4] + ");") self.label_3.setText(result[0][1]) self.label_4.setText(result[0][2]) self.textEdit.setHtml(result[0][3]) self.pushButton.clicked.connect(self.up) self.pushButton_2.clicked.connect(self.down) self.pushButton_3.clicked.connect(self.close) self.img_list = eval(result[0][5]) self.loadImg()
def parser_index(self, area, table): ''' 解析索引页 :param url: 索引页url :return: ''' try: db = db_class() db.open() # 请求索引页 title_img_list = table.xpath('.//td//img/@src') url_list = table.xpath('.//td/p[2]/a/@href') name_list = table.xpath('.//td/p[2]/a/text()') for title_img, url, name in zip(title_img_list, url_list, name_list): try: if self.flag: text = self.requestGET(url, headers) if text: html = etree.HTML(text) text = text.replace('\n', '') content1 = re.search( '<strong>背景故事</strong>\s*?</p>(.*?)<hr.*?>', text, flags=re.DOTALL | re.S | re.I) if content1: content = content1[1] self.saveIMG( name, 'title.' + title_img.split('.')[-1], title_img) title_path = './img/' + name + '/' + 'title.' + title_img.split( '.')[-1] skin_img_list = html.xpath( '//p[@align="center"]//a/img/@src') skin_path = [] for n, skin_img in enumerate(skin_img_list): self.saveIMG( name, str(n) + '.' + skin_img.split('.')[-1], skin_img) skin_url = './img/' + name + '/' + str( n) + '.' + skin_img.split('.')[-1] skin_path.append(skin_url) hero = {} hero['name'] = name hero['area'] = area hero['content'] = content hero['title_img'] = title_path hero['skin_img'] = str(skin_path) db.insert_many('hero', [hero]) self.sig_one_end.emit(name + ' 抓取成功!') except Exception as e: print(e) except Exception as e: print(e) print(area) finally: db.close()
def btn_teacher_del_c(self): row = self.getCheckedRow3() if row != None: id = self.tableWidget_3.item(row, 1).text() db = db_class() db.open() db.delete_many(scantron, [{'id': id}]) db.close() self.btn_teacher()
def btn_teacher_search_c(self): text = self.lineEdit_c.text().strip() if text: db = db_class() db.open() result = db.select_scantron_like(text) db.close() if result: self.load_table_c(result)
def btn_teacher_search(self): text = self.lineEdit_q.text().strip() if text: db = db_class() db.open() result = db.select_condition(questions, 'title like "%' + text + '%"') db.close() if result: self.load_table_q(result)
def btn_teacher(self): self.stackedWidget.setCurrentIndex(2) db = db_class() db.open() datas = db.select_all(questions) datas1 = db.select_scantron() db.close() self.load_table_q(datas) self.load_table_c(datas1)
def btn_teacher_del(self): row = self.getCheckedRow2() if row != None: id = self.tableWidget_2.item(row, 1).text() db = db_class() db.open() db.delete_many(questions, [{'id': id}]) db.close() self.btn_teacher()
def btn_del(self): row = self.getCheckedRow() if row != None: id = self.tableWidget.item(row, 1).text() db = db_class() db.open() db.delete_many(user_table, [{'id': id}]) db.close() self.btn_admin()
def btn_clear(self): ''' 清空按钮 ''' db = db_class() db.open() db.delete_all('hero') db.close() self.tabChange(1)
def scantronWinSlot(self, Obj): db = db_class() db.open() if Obj['id']: id = Obj.pop('id') db.update_many(scantron, [Obj], [{'id': id}]) else: Obj.pop('id') db.insert_many(scantron, [Obj]) db.close() self.btn_teacher()
def questionsSlot(self, questionsObj): db = db_class() db.open() if questionsObj['id']: id = questionsObj.pop('id') db.update_many(questions, [questionsObj], [{'id': id}]) else: questionsObj.pop('id') db.insert_many(questions, [questionsObj]) db.close() self.btn_teacher()
def userSlot(self, userObj): db = db_class() db.open() userObj['rank_id'] = '0' if userObj['rank_name'] == '管理员' else '1' if userObj['rank_name'] == '教师' else '2' if userObj['id']: id = userObj.pop('id') db.update_many(user_table, [userObj], [{'id': id}]) else: userObj.pop('id') db.insert_many(user_table, [userObj]) db.close() self.btn_admin()
def btn_del(self): ''' 删除按钮 ''' row = self.getCheckedRow() if row != None: id = self.tableWidget.item(row, 1).text() db = db_class() db.open() db.delete_many('hero', [{'id': id}]) db.close() self.tabChange(1)
def btn_see_2(self): row = self.getCheckedRow4() if row != None: try: id = self.tableWidget_4.item(row,1).text() db =db_class() db.open() imgData = db.select_scantron_condition(id) db.close() self.showWin = showWin(imgData[0][0]) self.showWin.show() except Exception as e: print(e)
def login(self): username = self.lineEdit_username.text().strip() password = self.lineEdit_password.text().strip() if username and password: db = db_class() db.open() result = db.select_condition( user_table, 'username="******" and password="******"') db.close() if result: self.Sig_login.emit(list(result[0])) self.close() else: QMessageBox.about(self, '提示', '账号或密码错误!')
def tabChange(self, index): ''' tab改变时,载入勾选项 :param index: :return: ''' if index == 1: db = db_class() db.open() result = db.select_all_list('hero') result_area = db.select_all_area('hero') db.close() self.load_table(result) self.comboBox.clear() self.comboBox.addItem('全部') self.comboBox.addItems([area[0] for area in result_area])
def btn_search(self): ''' 搜索按钮 ''' condition = [] area = self.comboBox.currentText() name = self.lineEdit.text().strip() if area != '全部': condition.append('area="' + area + '"') if name: condition.append('name like "%' + name + '%"') if condition: condition_str = ' and '.join(condition) db = db_class() db.open() result = db.select_condition('hero', condition_str) db.close() self.load_table(result) else: self.tabChange(1)
def __init__(self, parent=None): ''' 程序初始化 :param parent: ''' super(DataAnalysis, self).__init__(parent) self.setupUi(self) self.retranslateUi(self) headerView = self.tableWidget.horizontalHeader() headerView.setSectionResizeMode(QHeaderView.Stretch) self.pushButton_run.clicked.connect(self.run) self.tabWidget.currentChanged.connect(self.tabChange) self.pushButton_del.clicked.connect(self.del_data) self.pushButton_sel.clicked.connect(self.sel_data) self.pushButton_als.clicked.connect(self.analysis) self.load() self.db = db_class()
def parser_index(self, url): ''' 解析索引页 :param url: 索引页url :return: ''' try: db = db_class() db.open() # 请求索引页 text = self.requestGET(url, headers) if text: html = etree.HTML(text) skuIds = html.xpath('//em[@class="num"]/@id') skuIds = [id.split('_')[-1] for id in skuIds] moneys = html.xpath('//em[@class="num"]/text()') moneys = [m.strip() for m in moneys if m.strip()] titles = html.xpath('//a[@class="mainTitle"]/@title') shops = html.xpath('//span[@class="shop_text"]/text()') for skuId, money, title, shop in zip(skuIds, moneys, titles, shops): obj = copy.deepcopy(item_obj) obj['uid'] = self.uid obj['skuId'] = skuId obj['title'] = title obj['money'] = money obj['shop'] = shop obj['url'] = url_item.format(skuId) obj = self.parser_item(obj) if obj: if db.insert_many(table_name, [obj]): self.sig_one_end.emit( '抓取成功:' + obj['title'] + ' ' + time.strftime( "%Y-%m-%d %H:%M:%S", time.localtime())) except Exception as e: print(e) finally: db.close()
def load(self): db = db_class() db.open() datas = db.select_all(questions) self.load_table_q(datas) db.close()
def btn_admin(self): self.stackedWidget.setCurrentIndex(1) db = db_class() db.open() datas = db.select_all(user_table) self.load_table(datas)
from card_class import PokemonCard from gui_class import gui_class import tkinter from db_class import db_class bst = db_class("BST") #print(bst.get_set()) PC = PokemonCard('BST', bst.get_set()[150]) PC.get_image() gui_class(tkinter.Tk())
['siteName', '=', self.siteName]]): self.mylog.logger.warning( '存在!' + li['modelObj']['sectionName'].encode( 'gbk', 'ignore').decode('gbk')) print('存在!' + li['modelObj']['sectionName'].encode( 'gbk', 'ignore').decode('gbk')) continue OBJ = deepcopy(recognizance) OBJ['siteName'] = self.siteName OBJ['domain'] = self.domain OBJ['projectId'] = seqid OBJ['projectName'] = li['modelObj']['sectionName'] OBJ['projectNumber'] = li['modelObj']['sectionNumber'] OBJ['projectUrl'] = fzztb_recognizance OBJ['company'] = company self.save([OBJ]) except Exception as e: print(e) if index['page']['totalPages'] > page: page += 1 return self.getIndex(page) if __name__ == '__main__': siteName = '马尾区建设工程电子招投标交易平台' domain = 'http://www.fzztb.com:25000' mylog = MyLogClass() db = db_class(mylog) f = FzztbRecognizance(siteName, domain, db, mylog) f.getIndex(1)
def load(self): db = db_class() db.open() datas = db.select_condition(user_table, 'rank_id=2') self.load_table_q(datas) db.close()
def __init__(self): self.mylog = MyLogClass() self.db = db_class(self.mylog)