二十年編程語言風雲,哪款是你的愛豆?

簡介: 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

發佈了679 篇原創文章 · 獲贊 115 · 訪問量 77萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章