import pymysql class sql(): def __init__(self): # 连接MySQL(socket) conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='root', charset="utf8", db="bossdb") cursor = conn.cursor() self.conn = conn self.cursor = cursor def create_table(self,table_name): try: # 创建一个游标 cursor = self.cursor conn = self.conn #判断是否创建过该表 result = cursor.execute("SHOW TABLES LIKE '{}'".format(table_name)) if result: # print('{0}表已存在'.format(table_name)) # choose=input('是否要删除{0}表?(y/n)'.format(table_name)) # #删除表,重新插入数据 # if choose=='y': sql='drop table {0};'.format(table_name) cursor.execute(sql) # print('已删除{0}表,正常重新创建--------------'.format(table_name)) create_table ='create table '+table_name+'(job_name varchar(20),job_area varchar(20),salary varchar(20),job_tag varchar(20),job_ability varchar(50),company_name varchar(20),company_info varchar(200),welfare varchar(100),job_des varchar(150),company_type varchar(60),address varchar(60),link varchar(150))ENGINE=InnoDB DEFAULT CHARSET=utf8;' cursor.execute(create_table) conn.commit() print(table_name + '表创建完毕') #不删除表,继续插入数据 else: create_table ='create table '+table_name+'(job_name varchar(20),job_area varchar(20),salary varchar(20),job_tag varchar(20),job_ability varchar(50),company_name varchar(20),company_info varchar(200),welfare varchar(100),job_des varchar(150),company_type varchar(60),address varchar(60),link varchar(150))ENGINE=InnoDB DEFAULT CHARSET=utf8;' cursor.execute(create_table) conn.commit() print(table_name + '表创建完毕') except: print('创建数据表失败,请查看mysql服务是否开启、密码是否正确') def Insert_datas(self,table_name,dicts): try: n=0 for content in dicts: job_name = content['职位名称'] job_area = content['地区'] salary = content['薪水'] job_tag = content['标签'] job_ability = content['能力要求'] company_name = content['公司名字'] company_info = content['公司介绍'] welfare = content['福利待遇'] job_des = content['职位描述'] company_type = content['企业类型'] address = content['工作地址'] link = content['详情链接'] #将信息插入表中 cursor = self.cursor conn = self.conn sql='insert into '+table_name+"(job_name,job_area,salary,job_tag,job_ability,company_name,company_info,welfare,job_des,company_type,address,link) values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}')".format(job_name,job_area,salary,job_tag,job_ability,company_name,company_info,welfare,job_des,company_type,address,link) cursor.execute(sql) conn.commit() n+=1 print('本次程序已插入{0}条数据'.format(n)) except: print('插入数据失败')