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

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

发布时间:2019-12-14 06:43:30 所属栏目:编程 来源:站长网
导读:副问题#e# 在年末岁尾之际,盘一盘各人较量体谅的一些数据。本日先来看看各大数据库在已往一年的示意! 图片来自 Pexels 先来看看数据库风行度总体走势: 视频请查察这里 数据获取 全部的数据都来历自一个数据库风行趋势统计网站: https://db-engines.com/
副问题[/!--empirenews.page--]

在年末岁尾之际,盘一盘各人较量体谅的一些数据。本日先来看看各大数据库在已往一年的示意!

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

图片来自 Pexels

先来看看数据库风行度总体走势:

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

视频请查察这里

数据获取

全部的数据都来历自一个数据库风行趋势统计网站:

https://db-engines.com/ 

Method 1

我们先来看获取数据要领,起首我们可以在下面地点中看到一个包括全部数据库信息的表格:

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

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

然后可以进入到每个数据库详情页面中,该数据库积年风行度数据城市在页面加载之后包括在 JavaScript 的变量中:

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

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

以是我们可以通过理会该 JavaScript 代码来获取每个数据库的积年纪据,同时为了加速抓取速率,行使了异步哀求。

先抓取全部数据库名称信息,通过 Pandas 的 read_html 要领可以利便的读取 HTML 中的 Table 数据:

import pandas as pd 

 

 

mystr = ' Detailed vendor-provided information available' 

 

 

def set_column3(column3): 

    if mystr in column3: 

        column3 = column3.split(mystr)[0] 

    return column3 

 

 

url = 'https://db-engines.com/en/ranking' 

tb = pd.read_html(url) 

db_tb = tb[3].drop(index=[0, 1, 2])[[0, 1, 2, 3, 4, 5, 6, 7]] 

 

# 处理赏罚数据 

db_tb[3] = db_tb[3].apply(set_column3) 

 

# 生涯数据 

db_tb.to_csv('db_tb.csv') 

异步抓取数据库具体信息:

async def fetch(session, url): 

    async with session.get(url) as response: 

 

        return await response.text() 

 

 

async def get_db_data(db_name): 

    url = 'https://db-engines.com/en/ranking_trend/system/%s' % db_name 

 

    async with aiohttp.ClientSession() as session: 

        res = await fetch(session, url) 

        content = BeautifulSoup(res, "html.parser") 

        content.find_all("script") 

        db_data = content.find_all("script")[2].string 

        src_text = js2xml.parse(db_data) 

        src_tree = js2xml.pretty_print(src_text) 

        data_tree = BeautifulSoup(src_tree, 'html.parser') 

        data_tree.find_all('number') 

        data = [] 

(编辑:湖南网)

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

热点阅读