import requests
import pymssql url = 'https://v1.cn-abs.com/ajax/ChartMarketHandler.ashx'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'
} # 每个交易场所每一年的发行金额
def get_marketInventory():
FromData = {
'type': 'marketInventory'
}
rep = requests.post(url, data=FromData).json()
for i in rep:
# print(i['SeriesName'],i['Points'])
for j in i['Points']:
result = {
'交易场所': i['SeriesName'],
'发行年份': j['X'],
'发行金额': j['Y']
}
yield result # 各个资产类型每一年的发行金额
def get_marketTotal():
FromData = {
'type': 'marketTotal'
}
rep = requests.post(url, data=FromData).json()
for i in rep:
# print(i['SeriesName'],i['Points'])
result = {
'资产类型': i['SeriesName'],
'发行金额': "" + str(i['Points'][0]['Y'][0]).replace("[", "'").replace("]", "'"),
'存量金额': "" + str(i['Points'][1]['Y'][0]).replace("[", "'").replace("]", "'")
}
yield result def sql_marketInventory():
result = get_marketInventory()
for res in result:
MarketPlace = res['交易场所']
IssueYear = res['发行年份']
IssueAmount = res['发行金额']
sqlText = "insert into [InvestSuite].[dbo].[MarketInventory] (MarketPlace,IssueYear,IssueAmount) " \
"values(N'%s','%s','%s')"%(MarketPlace,IssueYear,IssueAmount)
cur.execute(sqlText)
conn.commit()
# 如果update/delete/insert记得要conn.commit()
# cur.close()
# conn.close()
# sqlText = 'SELECT * FROM [InvestSuite].[dbo].[MarketInventory] '
# cur.execute(sqlText)
# print(cur.fetchall()) def sql_marketTotal():
result = get_marketTotal()
for res in result:
AssetType=res['资产类型']
CurrentIssueAmount=res['发行金额']
TotalIssueAmount=res['存量金额']
sqlText = "insert into [InvestSuite].[dbo].[MarketTotal] (AssetType,CurrentIssueAmount,TotalIssueAmount) " \
"values(N'%s','%s','%s')" % (AssetType,CurrentIssueAmount,TotalIssueAmount)
cur.execute(sqlText)
conn.commit() # 清空两张表的所有数据
def clean():
sql_text='delete from [InvestSuite].[dbo].[MarketTotal]'
cur.execute(sql_text)
conn.commit() sql_text = 'delete from [InvestSuite].[dbo].[MarketInventory]'
cur.execute(sql_text)
conn.commit() if __name__ == '__main__':
conn = pymssql.connect(host='', user='', password='',
database='', charset='utf8')
cur = conn.cursor()
if not cur:
raise Exception('数据库连接失败!')
# parse_marketInventory()
# parse_marketTotal()
clean()
get_marketInventory()
sql_marketInventory()
get_marketTotal()
sql_marketTotal()
cur.close()
conn.close()

  

2019-03-18 使用Request POST获取CNABS网站上JSON格式的表格数据,并解析出来用pymssql写到SQL Server中的更多相关文章

  1. 2019-03-15 使用Request POST获取CNABS网站上JSON格式的表格数据,并解析出来用xlwt写到Excel中

    import requests import xlwt url = 'https://v1.cn-abs.com/ajax/ChartMarketHandler.ashx' headers={ 'Us ...

  2. SQL Server中如何获取当前年,月,日,时,分,秒

    分类: SQL Server  select GETDATE() as '当前日期',DateName(year,GetDate()) as '年',DateName(month,GetDate()) ...

  3. HttpClient获取返回类型为JSON或XML的数据

    Java_HttpClient获取返回类型为JSON或XML的数据 原创 2017年04月06日 17:38:29 706 HttpClient 获取返回类型为JSON或XML的数据 使用httpco ...

  4. 在SQL SERVER中获取表中的第二条数据

    在SQL SERVER中获取表中的第二条数据, 思路:先根据时间逆排序取出前2条数据作为一个临时表,再按顺时排序在临时表中取出第一条数据 sql语句如下: select top 1 * from(se ...

  5. SQL Server中是否可以准确获取最后一次索引重建的时间?

    在SQL Server中,我们能否找到索引的创建时间?最后一次索引重建(Index Rebuild)的时间? 最后一次索引重组(INDEX REORGANIZE)的时间呢?  答案是我们无法准确的找到 ...

  6. struts2使用jsp和<s:property>标签获取json格式的返回数据

    struts2使用jsp和<s:property>标签获取json格式的返回数据 1.struts2的action中 return "success"; 2.指向的返回 ...

  7. (4.17)sql server中的uuid获取与使用

    sql server中的uuid  建表: 1.自增长 studentno int primary key identity(1,1)——bigint也是可以的 2.创建uuidcustomerid  ...

  8. Spring MVC 后端获取前端提交的json格式字符串并直接转换成control方法对应的参数对象

    场景: 在web应用开发中,spring mvc凭借出现的性能和良好的可扩展性,导致使用日渐增多,成为事实标准,在日常的开发过程中,有一个很常见的场景:即前端通过ajax提交方式,提交参数为一个jso ...

  9. C# 如何获取SQL Server 中指定数据表的所有字段名和字段类型

    如何获取指定数据表的所有字段名和字段类型.SqlConnection.GetSchema方法有2个重载形式,获取指定数据表的所有字段名和字段类型的秘密就在GetSchema (String, Stri ...

随机推荐

  1. Python 不同列表时间测试

    import timeit import threading def test1(): l = [] for i in range(1000): l = l + [i] def test2(): l ...

  2. vscode快捷键(lua开发)

    快速定位行:ctrl+g 查找:ctrl+f 格式化代码:ctrl+alt+f 快速查找到当前复制内容的第一次出现的位置ctrl+d 其他常用不一一列举了

  3. 【codeforces 803C】Maximal GCD

    [题目链接]:http://codeforces.com/contest/803/problem/C [题意] 给你一个数字n;一个数字k; 让你找一个长度为k的序列; 要求这个长度为k的序列的所有数 ...

  4. Oracle里schema理解

    在Oracle中,一个用户就是一个Schema,表都是建立在Schema中的,也可以理解为每个用户拥有不同的表.一个用户想访问另外一个用户,也就是另外一个schema的表的时候,可以用 usernam ...

  5. android Service中多线程交互

    android 的service和activity是执行在UI主线程的. 在android线程中,仅仅有主线程即UI线程有自己的默认的消息队列.子线程须要创建自己的消息队列.并把消息发给队列,并循环起 ...

  6. linux下jenkins安装

    在安装jenkins之前.首先确认jdk和tomcat,maven已经配置好 详细配置方法,请看的我博客. jdk:jdk的安装与配置 tomcat:tomcat的安装与配置 maven:maven的 ...

  7. Threejs 官网 - 怎样执行本地的东西(How to run things locally)

    Threejs 官网 - 怎样执行本地的东西(How to run things locally) 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循&qu ...

  8. 抓包函数-pcap_next

     抓包函数        pcap_next_ex, pcap_next 抓包 #include <pcap/pcap.h> int pcap_next_ex(pcap_t *p, s ...

  9. 《深入理解Android 卷III》第六章 深入理解控件(ViewRoot)系统

    <深入理解Android 卷III>即将公布,作者是张大伟.此书填补了深入理解Android Framework卷中的一个主要空白,即Android Framework中和UI相关的部分. ...

  10. Java 后台性能优化简要

    业务系统性能优化的前提时观察和诊断.观察工具例如以下:前端优化工具:YSlow页面响应时间:Firebug方法对应时间:btraceGC日志分析:JVM 启动參数数据库优化:慢查询系统资源调用:监控 ...