def main_with_open(self): # 读取批量测试数据的id sql = "SELECT id FROM stang_cbid WHERE cate_id = 2" # 读取上面sql,并将结果转化为id的列表 ids = self._get_ids(sql) # 数据库 cnn = DataSQL() for i in ids: try: # BidData数据类,实例化的时候,会从数据库中读取该id的数据,并将id, title, info, cate_id, table_name等信息信息存入 # 该类的属性,并可以直接通过get_info_text等方法直接获取其去掉标签后的info字段内容 bid_info = BidData(cnn, pattern, i, 'stang_cbid') # Information类为主要的提取程序,通过其方法get_information获取各个字段的内容, 传入的是BidData对象 res = self.ifm.get_information(bid_info) # print(res, i) # 将提取后的结果插入数据库 cnn.insert_data_with_table_name('stang_bid_extract_zid', bidid=i, first_bidcompany=str(res[0]), manager=str(res[1]), tablename='stang_cbid') # 打开html, 将提取后的结果,与原先数据info内容合并为一个html,并使用浏览器打开 # self.open_html.open_html(i, 'stang_bid_new', extra_text=str(res)) cnn.db.commit() # time.sleep(0.8) except Exception as e: print(e)
def __init__(self): # 数据库 self.db = DataSQL() # 初始化Information类,Information类为主要的提取程序,通过其方法get_information获取各个字段的内容 # 位于algorithm.bid_information self.ifm = Information(pattern) # 辅助类,用以打开html, 将提取后的结果,与原先数据info内容合并为一个html,并使用浏览器打开,辅助检查提取算法的精度 self.open_html = See()
def job(): # 连接数据库 cnn = DataSQL() # 提取bid_new表中的字段信息 begin_stang_bid_new_job(cnn) # 提取cbid表中的字段信息 begin_stang_cbid_job(cnn) # 关闭数据库 cnn.db.close()
class DataRun(object): """可以批量地进行数据的测试, 通过sql读取一部分id, 然后获取这部分id数据各个需要提取的字段的内容 """ def __init__(self): # 数据库 self.db = DataSQL() # 初始化Information类,Information类为主要的提取程序,通过其方法get_information获取各个字段的内容 # 位于algorithm.bid_information self.ifm = Information(pattern) # 辅助类,用以打开html, 将提取后的结果,与原先数据info内容合并为一个html,并使用浏览器打开,辅助检查提取算法的精度 self.open_html = See() def _get_ids(self, sql): res = self.db.read_sql(sql) id_res = [ele[0] for ele in res] return id_res def main_with_open(self): # 读取批量测试数据的id sql = "SELECT id FROM stang_cbid WHERE cate_id = 2" # 读取上面sql,并将结果转化为id的列表 ids = self._get_ids(sql) # 数据库 cnn = DataSQL() for i in ids: try: # BidData数据类,实例化的时候,会从数据库中读取该id的数据,并将id, title, info, cate_id, table_name等信息信息存入 # 该类的属性,并可以直接通过get_info_text等方法直接获取其去掉标签后的info字段内容 bid_info = BidData(cnn, pattern, i, 'stang_cbid') # Information类为主要的提取程序,通过其方法get_information获取各个字段的内容, 传入的是BidData对象 res = self.ifm.get_information(bid_info) # print(res, i) # 将提取后的结果插入数据库 cnn.insert_data_with_table_name('stang_bid_extract_zid', bidid=i, first_bidcompany=str(res[0]), manager=str(res[1]), tablename='stang_cbid') # 打开html, 将提取后的结果,与原先数据info内容合并为一个html,并使用浏览器打开 # self.open_html.open_html(i, 'stang_bid_new', extra_text=str(res)) cnn.db.commit() # time.sleep(0.8) except Exception as e: print(e)
return pandas_dfs @staticmethod def _make_sure_df(dfs): if dfs is None: return None res = [] for df in dfs: df = df.fillna('') df = df.astype('str') # df.columns = df.columns.str.replace(' ', '') df.columns = range(df.shape[1]) df.index = range(df.shape[0]) res.append(df) return res if __name__ == '__main__': import sys sys.path.append('..') from algorithm.create_df.read_data_lib.data_base import DataSQL from extraction import pattern cnn = DataSQL() data = BidData(cnn, pattern, 11408442, 'stang_bid_new') ids = [3880588] for id in ids: data = BidData(cnn, pattern, id, 'stang_bid_new') print(data.info, data.get_info_sequence(), data.get_info_text(), data.get_tag_sequence(), data.is_valid()) print(data.get_dfs()[1])
def __init__(self): self.cnn = DataSQL() # 数据库 self.ifm = MoneyInformation(pattern) # 提取money主程序 self.clean_currency = CleanCurrency(pattern)
def __init__(self): # 初始化Information类,Information类为主要的提取程序,通过其方法get_information获取各个字段的内容 # 位于algorithm.bid_information self.ifm = Information(pattern) # 连接数据库 self.cnn = DataSQL()
from classification.classification import Classification from algorithm.create_df.read_data_lib.data_base import DataSQL c = Classification() d = DataSQL() data = d.read_sql( 'select title, info, cate_id FROM stang_cbid WHERE id = 6304465')[0] print(data[0]) print(c.main(data[0], data[1], data[2]))