大家好,欢迎来到IT知识分享网。
前期我们已经爬取了各大公司岗位的相关信息,并且爬取了牛客网的面试经验贴。之后我们将面试经验喂给大模型进行了面试经验总结,得到了良好的面试经验,以供用户参考。
为了提高我们系统的效率,降低系统反应时长,我们计划将大模型总结好的经验存储到数据库中,并把一些固定的比如公司岗位信息存储到数据库中,这样,就变成了查询数据库操作,会大大缩短反应时长。
并且经会议讨论,我们认真观察了爬取数据的结构内容,发现大部分经验贴中都涉及到了八股信息。于是我们打算爬取八股信息作为模拟面试模块的参考,以提高大模型性能。
接下来我进行了如下操作:
创建数据库表
公司岗位信息表
- 设置如下字段:
- 使用python的mysql板块连接mysql,并将csv中的数据存储到数据库中
代码:
def mysql_connect(): '''建立连接''' # 打开数据库连接 db = pymysql.connect(host="localhost",port=3306, user="root",password="",db="xmsx",charset="utf8") #使用cursor创建一个游标对象 cursor = db.cursor() # 重置自增值序列到0 #cursor.execute("ALTER TABLE house_info AUTO_INCREMENT = 0") return db,cursor def mysql_close(db,cursor): '''关闭连接''' db.commit() cursor.close() db.close() def query(sql,*args): '''执行sql''' db,cursor = mysql_connect() try: cursor.execute(sql,args) result = cursor.fetchall() return result except Exception as e: db.rollback() print(e) finally: mysql_close(db,cursor) def load_data(): data = pd.read_csv(r'path.csv') #查看行和列 print(data.columns) print(data.dtypes) db, cursor = mysql_connect() # 建立连接 for index,row in data.iterrows(): # print(index) # print(row) company = row['company'] job_area = row['job_area'] job_name = row['job_name'] job_require = row['job_require'] job_duty_desciption = row['job_description'] sql = ('insert into companyandjob(company,' 'job_area,job_name,job_require,job_duty_desciption)' ' values(%s,%s,%s,%s,%s)') query(db,cursor,sql,company,job_area,job_name,job_require,job_duty_desciption) mysql_close(db, cursor) # 关闭连接
导入成功如图:
面试经验表
首先从牛客网以及其他网站爬取一些优质面经,然后我们保存到数据库中,以便进行数据可视化页面的前端展示。
爬虫得到的csv文件:
- 新建面试经验表,字段如下
在建表中,发现设置为varchar存储字符不够,于是设计类型为longtext
- 导入数据,得到结果
八股表
从各个网站中爬取了各类别的八股信息,爬取过程和爬取公司官网类似,主要的工作量在于需要分析不同网站的结构,找到要提取数据的部分,精准定位进行提取。因此这里颇耗费了点时间。
因为网站中是按照面试题目类别进行展示的,所以我们也按照类别进行爬取
然后导入到了数据库中,爬虫得到的csv文件如下,(经过了清洗,只爬取了面试题目部分)
导入到数据库中(和之前相同的逻辑)
至此,数据库搭建完成。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/130708.html