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