加入收藏 | 设为首页 | 会员中心 | 我要投稿 成都站长网 (https://www.028zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

数据库十年巅峰对决,谁才是真正的王者?

发布时间:2019-12-13 13:47:21 所属栏目:建站 来源:站长网
导读:副标题#e# 在年终岁尾之际,盘一盘大家比较关心的一些数据。今天先来看看各大数据库在过去一年的表现! 图片来自 Pexels 先来看看数据库流行度总体走势: 视频请查看这里 数据获取 所有的数据都来源自一个数据库流行趋势统计网站: https://db-engines.com/

        for i in data_tree.find_all('number'): 

            data.append(i['value']) 

 

        date_list = gen_time('%s-%s' % (data[0], str(int(data[1]) + 1))) 

        date_value = list(zip(date_list, data[3:])) 

        d_data = zip([db_name for i in range(len(date_value))], date_value) 

 

        await save_data(d_data) 

 

 

def gen_time(datestart, dateend=None): 

    if dateend is None: 

        dateend = time.strftime('%Y-%m', time.localtime(time.time())) 

    datestart=datetime.datetime.strptime(datestart, '%Y-%m') 

    dateend=datetime.datetime.strptime(dateend, '%Y-%m') 

    date_list = list(OrderedDict(((datestart + timedelta(_)).strftime(r"%Y-%m"), None) for _ in range((dateend - datestart).days)).keys()) 

    date_list.append('2019-12') 

    return date_list 

 

 

if __name__ == '__main__': 

    db_tb = pd.read_csv('db_tb.csv') 

    db_name = db_tb['3'].values.tolist() 

    loop = asyncio.get_event_loop() 

    tasks = [get_db_data(name) for name in db_name] 

    loop.run_until_complete(asyncio.wait(tasks)) 

    loop.close() 

Method 2

下面再来介绍第二种方法,方法更简单,但是抓取时需要处理的地方更多一些。

我们可以直接访问下面的地址,同样的,在页面加载完成后,会返回所有数据库的历年数据信息:

https://db-engines.com/en/ranking_trend 

数据库十年巅峰对决,谁才是真正的王者?

那么我们就可以直接解析此处的 JavaScript 信息,获取对应数据库的数据即可。

不过由于有些数据库的历史数据有缺失,所以需要做特殊处理:

for i in data_tree.find_all('object'): 

      date_list = gen_time('%s-%s' % (year_list[0], str(int(year_list[1]) + 1))) 

      data = [] 

      tmp_list = [] 

      db_name = i.find('string') 

      if i.find('null'): 

          null_num = len(i.find_all('null')) 

(编辑:成都站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读