数据库

Posted hhhkm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库相关的知识,希望对你有一定的参考价值。

 

1、Python MongoDB

MongoDB 是目前最流行的 NoSQL 数据库之一,使用的数据类型 BSON(类似 JSON)。

MongoDB 数据库安装与介绍可以查看我们的 MongoDB 教程。

2、SQLite - Python

安装

SQLite3 可使用 sqlite3 模块与 Python 进行集成。sqlite3 模块是由 Gerhard Haring 编写的。它提供了一个与 PEP 249 描述的 DB-API 2.0 规范兼容的 SQL 接口。您不需要单独安装该模块,因为 Python 2.5.x 以上版本默认自带了该模块。

为了使用 sqlite3 模块,您首先必须创建一个表示数据库的连接对象,然后您可以有选择地创建光标对象,这将帮助您执行所有的 SQL 语句。

Python sqlite3 模块 API

以下是重要的 sqlite3 模块程序,可以满足您在 Python 程序中使用 SQLite 数据库的需求。如果您需要了解更多细节,请查看 Python sqlite3 模块的官方文档。

首先我们介绍MongoDb

PyMongo

Python 要连接 MongoDB 需要 MongoDB 驱动,这里我们使用 PyMongo 驱动来连接。

pip 安装

pip 是一个通用的 Python 包管理工具,提供了对 Python 包的查找、下载、安装、卸载的功能。

安装 pymongo:

在命令行中用pip安装  输入代码:

$ python3 -m pip3 install pymongo

 

 

 

实例运用——爬取中国大学排名并写入数据库,外加查询and创新

  爬取过程中到的数据写入数据库

技术图片
技术图片
from bs4 import BeautifulSoup
import requests
import pandas as pd
import pymongo

def client_Mongodb(port, path):
    myclient = pymongo.MongoClient(host=‘localhost‘, port=port)  # 连接
    my_set = myclient.path  # 连接path,如果没有则创建一个数据库
    return my_set

def save_mongo(result):
    myclient = pymongo.MongoClient(host=‘localhost‘, port=27017)
    my_set = myclient.University.ranking
    try:
        if my_set.product.insert_one(result): #如果保存成功
            pass#print("数据保存成功")
    except Exception:
        print("数据保存失败")

def save_list_to_Mongodb(lists):
    my_set = client_Mongodb(27017, ‘University.ranking‘)
    product = {
        ‘排名‘: lists[0],
        ‘学校名称‘: lists[1],
        ‘省份‘: lists[2],
        ‘总分‘: lists[3],
        ‘生源质量(新生高考成绩得分)‘: lists[4],
        ‘培养结果(毕业生就业率‘: lists[5],
        ‘社会声誉(社会捐赠收入·千元‘: lists[6],
        ‘科研规模(论文数量·篇)‘: lists[7],
        ‘科研质量(论文质量·FWCI)‘: lists[8],
        ‘顶尖成果(高被引论文·篇)‘: lists[9],
        ‘顶尖人才(高被引学者·人)‘: lists[10],
        ‘科技服务(企业科研经费·千元‘: lists[11],
        ‘成果转化(技术转让收入·千元)‘: lists[12],
        ‘学生国际化(留学生比例)‘: lists[13],
        }  # 字典类型数据
    save_mongo(product)

def gethtmlText(url):
    try:
        r = requests.get(url, timeout=10)
        r.raise_for_status()
        r.encoding = ‘utf-8‘
        return r.text
    except:
        return ""

def filUnivList(soup):
    data = soup.find_all(‘tr‘)
    for tr in data:
        ltd = tr.find_all(‘td‘)
        if len(ltd) == 0:
            continue
        singleUniv = []
        for td in ltd:
            singleUniv.append(td.string)
        save_list_to_Mongodb(singleUniv)

def main():
    url = ‘http://www.zuihaodaxue.cn/zuihaodaxuepaiming2019.html‘
    html = getHTMLText(url)
    soup = BeautifulSoup(html, "html.parser")
    filUnivList(soup)
    print("完成")
    for i in pymongo.MongoClient(host=‘localhost‘, port=27017).University.ranking.product.find():
        print(i)  # 输出
main()
技术图片
 
 
 
技术图片

 

 

技术图片

结果:

以上是关于数据库的主要内容,如果未能解决你的问题,请参考以下文章

部分代码片段

将代码片段插入数据库并在 textarea 中以相同方式显示

python 用于数据探索的Python代码片段(例如,在数据科学项目中)

如何在片段中使用 GetJsonFromUrlTask​​.java

Android 使用两个不同的代码片段获取当前位置 NULL

解决方案电影标题中缺少代码的片段,完成挑战更多[关闭]