简介: 2020了,编程语言也要决出2019年的最佳语言了,会是谁呢,从 TIOBE 上来看,Java、C 和 Python 基本锁定了前三的位置,Java 江湖老大的地位,还是无人能撼动呢。
原创: 周萝卜 萝卜大杂烩
2020了,编程语言也要决出2019年的最佳语言了,会是谁呢,从 TIOBE 上来看,Java、C 和 Python 基本锁定了前三的位置,Java 江湖老大的地位,还是无人能撼动呢。
下面先来一张 TIOBE 网站的走势图,镇楼(这是个暴露年龄的词语)!
数据获取
数据获取的部分,与上一篇 DB 篇很类似,都是解析 JavaScript 代码里的变量,抽出数据即可
def get_pl_data(name): name_lower = [i.lower() for i in name] for i in name_lower: print("Request ", i) if i == 'c#': i = 'csharp' url = 'https://www.tiobe.com/tiobe-index/' + i res = requests.get(url).text content = BeautifulSoup(res, "html.parser") js = content.find_all('script')[9].string src_text = js2xml.parse(js) src_tree = js2xml.pretty_print(src_text) data_tree = BeautifulSoup(src_tree, 'html.parser') array_list = data_tree.find_all('array') data_list = [] for array in array_list[3:]: array_data = array.find_all('number') data_list.append({'date': array_data[0]['value'] + '-' + array_data[1]['value'] + '-' + array_data[2]['value'], 'value': array_data[3]['value']}) save_data(i, data_list)
当然这里还是提前获取了前50名编程语言的列表,直接通过 pandas 的 read_html 方法就可以方便的获取
def get_pl_list(): url = 'https://www.tiobe.com/tiobe-index/' pl_df = pd.read_html(url) top_20 = pl_df[0]['Programming Language'].values.tolist() bottom_30 = pl_df[1]['Programming Language'].values.tolist() return top_20 + bottom_30
最后再保存到 csv 中
with open('pl_data.csv', 'a+', encoding='utf-8') as f: f.write('name,value,date\n') for d in data: try: row = '{},{},{}'.format(name, d['value'], d['date']) f.write(row) f.write('\n') except: raise
如果不出意外的话,几分钟的时间里,我们就能够拿到近20年编程语言的风云数据啦!
文章进行了部分删减,整体语言指数与图解内容请点击:https://developer.aliyun.com/article/741509?utm_content=g_1000098137
关键字:JavaScript 前端开发 Java Go PHP C# C语言 C++ iOS开发 Python
网友评论