requests从api中获取数据并存放到mysql中
来源:互联网 发布:今日头条数据图 编辑:程序博客网 时间:2024/05/22 09:04
python的requests库是一个非常强大的库,requests的安装方法十分简单,用:
pip install requests
即可安装requests,安装成功后:
import requests
即可导入requests模块,requests有get和post两种方法:
1、requests.get()用法:
url = "http://xxx" a_content = requests.get(url) aa = a_content.content #.content和.text的作用是一样的
a_json = json.loads(aa)
这里说一下 json.loads和json.dumps,这是json模块的两个函数,分别进行解码和编码JSON数据, json.loads将json数据对象转换为python对象,相反,json.dumps是将python对象转换为json数据对象
我们得到的 a_json是一个字典嵌套列表的结构,通过字典的key可以获取其对应的value,然后可以解析每个字段,如:
version_name = a_json[0]['latest_release']['package']['name']
a_json是一个列表,列表中第0个元素是一个字典,依次取字典中的key,最终得到version信息
2、requests.post()用法:
requests.post()用法基本与requests.get()相同,但是requests.post可以接受带参数的请求,可以包含token等信息:
payload = { "access_token": "xxxxxxxxxxxxxxxxxxxxxxxxxx", "request_body": { } }headers = {'content-type': 'application/json'}url = r"http://xxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxx"re = requests.post(url, data=json.dumps(payload), headers=headers)r = json.loads(re.text)
python连接MySQLdb:
db1 = MySQLdb.connect( host="localhost", db="", user="root", passwd="", port=3306, charset='utf8' )cur2 = db1.cursor()cur2.execute('xxxxxxxxxxx')sql1 = """create table table_deploy(id INT (11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT ,appid int not null ,timestamp VARCHAR(50) ,deploy_id INT )"""cur2.execute(sql1)db1.commit()
这是python连接mysql的原始方法,如果用的是Django则自带ORM,Django的Models内部封装了mysql的方法
MySQLdb.connect()表示打开数据库连接,db1.cursor()表示使用cursor()方法获取操作游标 ,cur2.execute('xxxxxxxxxxx')表示使用execute方法执行SQL语句,sql1 =xxx 表示创建数据表SQL语句
时间戳相关转换,我们知道从接口获取的时间往往不是我们想要的时间格式,这里需要进行时间转换:
now_time = int(time.time()) # 当前时间的时间戳
timeArray = time.strptime(timestamp, "%Y-%m-%d %H:%M")
#timestamp是时间字符串,strptime函数根据指定的格式把时间字符串解析为时间元组
timeStamp_1 = int(time.mktime(timeArray))
#将时间元组转换为时间戳
timeArray11 = time.localtime(timeStamp_1)
#利用localtime()将时间戳转换为时间数组
dateStr= time.strftime("%Y-%m-%d %H:%M:%S", timeArray1)
#再将时间数组转换为指定格式的时间字符串
datetimeObj = datetime.datetime.strptime(dateStr, "%Y-%m-%d %H:%M:%S")
#将字符串日期转换为datetime
data_hours_after = datetimeObj + datetime.timedelta(hours=16)
#转换为datetime之后可以对日期进行加减,表示16小时之后的日期
0 0
- requests从api中获取数据并存放到mysql中
- requests从api中获取数据并存放到mysql中
- ssm 接收ajax请求数据,并存放到数据库中
- 从API中获取数据(七)
- scala实战之spark读取mysql数据表并存放到mysql库中编程实例
- C#中联查的简单方法(如从数据库中获取到数据放到excel表中)
- python中,从mysql读取数据,并存入redis里面(1)
- python中,从mysql读取数据,并存入redis里面(2)
- python中,从mysql读取数据,并存入redis里面(3)
- PHP 从数据库中取出数据并存为Json数据
- PHP 从数据库中取出数据并存为Json数据
- java获取excel中数据并存入数据库表中
- 用 PHP 从 MySQL 中获取数据
- 怎么把从mysql数据库中去取出来的数据放到xml文件
- 遍历list.有相同的从list中remove掉,并存放到一个新的list中
- 在SecureCRT屏幕上获取数据并存至文件中
- js获取当前时间并存到数据中
- 指定分割符,分割字符串并存放到 list 中
- Java 日期时间
- FTP主动模式和被动模式的区别
- c/c++注释转换
- solr亿万级索引优化实践(二)
- PHP+yaml 示例
- requests从api中获取数据并存放到mysql中
- DNS 介绍
- vue在iis服务器上部署时出现找不到json文件错误
- 学习记录
- NTP时间服务器
- ADMM
- Java 正则表达式
- Spring学习心得(9)-- IOC和DI的意义
- Android lint相关