本文主要是介绍TIOBE编程排行榜最新排名,数据抓取并写入数据库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
TIOBE编程排行榜作为衡量编程语言流行度的权威指标,每年都会吸引众多开发者和企业的关注。近日,TIOBE发布了2023年最新编程语言排行榜,展示了各种编程语言的市场份额和流行度。本文将介绍如何从TIOBE排行榜抓取数据,并将这些数据写入数据库的过程。
read_html函数是最简单的爬虫,可爬取静态网页表格数据,但只适合于爬取table 表格型数据,不是所有表格都可以用read_html爬取,有的网站表面上看起来是表格,但在网页源代码中不是table格式,而是list列表格式,这种表格就不适用read_html爬取。
1. read_html抓取数据
下面先学习一下read_html() 函数的参数,在代码行中写入
import pandas as pd
df=pd.read_html()
在括号中使用Shift+Tab组合键调用代码提示功能,可以看到read_html都包含以下参数。
这里例举常用的一些参数。
- io:url、html文本、本地文件等
- header:标题行
- flavor:解析器
- skiprows:跳过的行
- attrs:属性,例如:attrs = {'id':'table'}
- parse_dates:解析日期
下面我们使用代码实际爬取网页表格数据,比如下面的TIOBE编程排行榜排名数据。
https://www.tiobe.com/tiobe-index/
TIOBE编程排行榜排名
使用read_html爬取网页数据,返回的结果是DataFrame组成的list ,在最后加上一个索引[0]即可得到爬取的表格数据,爬取的数据如下。
import pandas as pddf=pd.read_html('https://www.tiobe.com/tiobe-index/')[0]
df.head(10)
数据有冗余,我们筛选自己需要的数据字段,多余的数据字段进行剔除,如下选取第1列、第2列、第5列、第6列、第7列的数据字段。
df_select=df.iloc[:,[0,1,4,5,6,]]
df_select.head(10)
2. 数据存储至数据库
使用Python写一个脚本,用于将上面的数据字段批量的存储为.sql格式数据,如下为生成的.sql格式数据,借助特定的SQL软件可以打开。
sql = [] # 使用列表来保存所有的 SQL 语句 for i, r in df_select.iterrows(): columns = "`, `".join(r.index) # 获取所有列名,并用逗号和空格分隔它们 values = "`, `".join([f"'{r[col]}'" for col in r.index]) # 为每一列生成一个带单引号的值,并用逗号和空格分隔它们 sql_row = f"INSERT INTO `TIOBE` (`{columns}`) VALUES ({values}) ;" # 生成完整的 SQL 插入语句 sql.append(sql_row) # 将 SQL 插入语句添加到列表中 # 将所有的 SQL 语句保存到一个文件中,例如 "output.sql"
with open('output.sql', 'w') as f: for s in sql: f.write(s + '\n') # 在每个 SQL 语句后添加一个换行符
除此之外,还可以使用 f'' 函数批量生成SQL插入语句,这部分SQL语句是可以直接复制粘贴在SQL软件中实际运行的,更快捷地写插入SQL语句的代码,代码生成如下。
sql = ''
for i,r in df_select.iterrows():r_sql = f"INSERT INTO `TIOBE` (`Dec 2023`,`Dec 2022`,`Programming Language.1`,`Ratings`,`Change.1`)\nVALUES('{r['Dec 2023']}','{r['Dec 2022']}','{r['Programming Language.1']}','{r['Ratings']}','{r['Change.1']}',)"sql = sql + r_sql + ';' + '\n'
print(sql)
通过使用适当的工具和方法,从TIOBE排行榜抓取数据并将其写入数据库是一个相对简单的过程,通过定期更新数据库,您可以确保数据的实时性和准确性。希望本文对有需求的数据抓取和存储有所帮助,如果您有任何其他问题或需要进一步的帮助,可在评论区留言!
本文首发于公众号:大话数据分析,专注于数据分析的实践与分享,掌握Python、SQL、PowerBI、Excel等数据分析工具,擅长运用技术解决企业实际问题,欢迎一同探索数据的世界,解锁业务背后的秘密。
这篇关于TIOBE编程排行榜最新排名,数据抓取并写入数据库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!