python2获取接口内容存入Mysql数据库


先交代一下我的环境吧:
win10
mysql5.7
python2.7

python2获取接口内容

这是需要解决的第一个问题
首先要知道访问接口需要的header和url
代码示例:
import requests
import json
import urllib
url = ‘XXXXX’
token = ‘XXXXXX’
header = {‘token’: token}
data={‘level’:‘0’}
data = urllib.urlencode(data)
newurl = url + “?” + data
result = requests.get(newurl, headers=header)
d = json.loads(result.text)

由于我获取到的是一个json字符串,而写入数据库需要得到他的每一个字段具体值,代码如下:
for item in d[‘data’]:#这里记得缩进哈 我懒得插入标准代码块了
lo_code=item.get(“location_code”)
lo_name=item.get(“location_name”)
en_name=item.get(“en_name”)

python连接mysql数据库

windows环境下:
python连接MySQL数据库需要下载第三方库MySQL-python
Linux环境下直接用pip下载就好啦
tips: 一定要确保MySQL服务是开启状态
import MySQLdb

host=“localhost”, # 主机名
user=“XX”, # 用户名
passwd=“xxxxx”, # 密码
port=3306,#数据库端口
db=“xxxxx”,#数据库名称
charset=‘utf8’

把获取到的接口数据插入到数据库:

直接看代码
db0 = MySQLdb.connect(
host=“localhost”, # 主机名
user=“XX”, # 用户名
passwd=“XXXXX”, # 密码
port=3306,
db=“jkb_api”,
charset=‘utf8’
)
cur = db0.cursor()#获取游标
sql = “INSERT INTO details (task_id,sign,batch)VALUES(’%s’,’%s’,’%s’)”
data = ( task_id, sign,batch)
cur.execute(sql % data)
db0.commit()
cur.close()#关闭游标
db0.close()#关闭连接

在数据库拿数据

代码:
cur=db1.cursor()
cur.execute(“select url FROM url where URL_name=’%s’”% name)
result=cur.fetchone()
return result
tips:如果搜索结果是多行fetchone()只能获取结果里的第一行数据,想要获取全部数据请使用fetchall()函数.

分享一下我用的python-mysql,需要的小可爱自取:
链接:https://pan.baidu.com/s/1-qtzobnbquiq1iPeYcYnhw
提取码:xhds

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
获取股票10年的日线数据并存入数据库,你需要进行以下步骤: 1. 确定需要获取的股票代码,例如获取中国平安(601318)的数据。 2. 导入必要的库,包括pandas、tushare和pymysql。 ```python import pandas as pd import tushare as ts import pymysql ``` 3. 使用tushare库获取股票数据。这里我们使用tushare的pro接口获取数据,需要先在tushare官网注册并获取API令牌。以下代码获取中国平安2010年至今的日线数据。 ```python ts.set_token('YOUR_TOKEN_HERE') pro = ts.pro_api() df = pro.daily(ts_code='601318.SH', start_date='20100101') ``` 4. 将数据存入数据库。这里我们使用pymysql库连接MySQL数据库,并将数据存入名为“stock_daily”的表中。 ```python conn = pymysql.connect(host='localhost', user='root', password='YOUR_PASSWORD_HERE', db='YOUR_DATABASE_NAME_HERE', charset='utf8') cursor = conn.cursor() # 创建表格 cursor.execute(''' CREATE TABLE IF NOT EXISTS stock_daily ( ts_code VARCHAR(20) NOT NULL, trade_date DATE NOT NULL, open FLOAT(10,2) NOT NULL, high FLOAT(10,2) NOT NULL, low FLOAT(10,2) NOT NULL, close FLOAT(10,2) NOT NULL, pre_close FLOAT(10,2) NOT NULL, change FLOAT(10,2) NOT NULL, pct_chg FLOAT(10,2) NOT NULL, vol FLOAT(20,2) NOT NULL, amount FLOAT(20,2) NOT NULL, PRIMARY KEY (ts_code, trade_date) ) ''') # 存入数据 for index, row in df.iterrows(): sql = ''' INSERT INTO stock_daily (ts_code, trade_date, open, high, low, close, pre_close, change, pct_chg, vol, amount) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) ''' cursor.execute(sql, (row['ts_code'], row['trade_date'], row['open'], row['high'], row['low'], row['close'], row['pre_close'], row['change'], row['pct_chg'], row['vol'], row['amount'])) conn.commit() cursor.close() conn.close() ``` 完成以上步骤后,你就可以在数据库中找到股票数据了。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值