昨天写的爬完存excel,今天来写写存数据库,因为我之前本地有装一个数据库用来测试,点击跳转

安装mysql 的笔记

准备工作

这次是要用到pymysql库

pip install pymysql

首先还是要先请求拿到返回数据,这个和存excel思路一样的

python使用request库把响应结果写入excel

返回的数据格式是
{“message”:“请求成功”,“data”:{[],[]}l}
需要的是data里的数据,所以在拿数据的函数只要data就可以了,
至于data里的数据具体要怎么拿,可以再写一个函数来解析

def getHTMLtext(url):  # 用来请求拿到大的数据
    try:
        headers = {
            "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36",
            "Cookie": "Cookie",
        }  # 浏览器请求头
        r = requests.get(url, headers=headers, timeout=30)  # 获取连接
        electrics = r.json()["Data"]#只要data
        return electrics
    except:
        return ""
# 解析html提取数据
def workData():  #
    datalist = []
    for i in getHTMLtext(url):
        data = []
        useDate = i["Date"]
        data.append(useDate)
        useInitpower = i["Initpower"]
        data.append(useInitpower)
        useLastpower = i["Lastpower"]
        data.append(useLastpower)
        useAllmoney = i["Allmoney"]
        data.append(useAllmoney)
        datalist.append(data)
    return datalist

存入数据库首先需要配置下数据库的信息,然后建表,然后再循环把数据写入

def toMysql():
    conn = pymysql.connect(
        host="localhost",
        port=3306,
        user="用户名",
        passwd="填密码",
        db="sys",
        charset="gbk",
        connect_timeout=1000,
    )
    cursor = conn.cursor()

    sql = """
    create table if not exists tb_news(
        useDate date, 
        useInitpower varchar(400),
        useLastpower varchar(400),
        useAllmoney varchar(400))
    """

    cursor.execute(sql)  # 建表

    for new in workData():  # 循环存入数据
        sql = "insert into tb_news(useDate, useInitpower,useLastpower,useAllmoney) values(%s, %s, %s, %s)"
        useDate = new[0]
        useInitpower = new[1]
        useLastpower = new[2]
        useAllmoney = new[3]
        cursor.execute(sql, (useDate, useInitpower, useLastpower, useAllmoney))

    conn.commit()
    conn.close()

执行就写入成功啦

在这里插入图片描述


有帮助请帮我点个赞吧。。谢谢~

扩展阅读:
python实现自动发邮件功能

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐