外汇交易中心

代码:

#coding:utf-8import requests
import json
import pymysql
import timedef dataDeal(content):# 打开数据库连接db = pymysql.connect(host = 'localhost',user = 'root',passwd ='123456',db = 'cfets',charset='utf8' )# 使用 cursor() 方法创建一个游标对象 cursorcursor = db.cursor()try:cursor.execute(content)print(cursor.fetchall())db.commit()db.close()except:db.close()# 使用 execute()  方法执行 SQL 查询# cursor.execute("SELECT VERSION()")# cmd_list = []## cmd_list.append('show tables;')# cmd_list.append('select * from IssueCode;')
# cmd_list.append('select * from stock;')
# cmd_list.append('insert into hunpo(title,url) values("adfsf","qml");')
# cmd_list.append('insert into hunpo(title,url) values("qml","fbl");')#
# for cmd in cmd_list:
#     cursor.execute(cmd)
#     data = cursor.fetchone()
#     print(data)
#提交数据
# db.commit()
# 关闭数据库连接
# db.close()class Shibor3M(object):def __init__(self,url,headers,cookies):self.url = urlself.headers = headersself.cookies = cookiesdef getJson(self):sourcejson = requests.post(url = self.url,headers = self.headers,cookies = self.cookies)if sourcejson.status_code != 200:returnsourcejson = sourcejson.content# sourcejson = sourcejson.decode("utf-8")jsonSource = json.loads(sourcejson)for k,v in jsonSource.items():# print(k,type(v),v)passjsonDict = {}jsonDict["curveType"] = jsonSource["data"]["curveType"]jsonDict["curveTypeEn"] = jsonSource["data"]["curveTypeEn"]jsonDict["cfgItemType"] = jsonSource["data"]["cfgItemType"] #curveIdjsonDict["curveId"] = jsonSource["data"]["curveId"] #curveIdtry:jsonDict["options"] = jsonSource["data"]["options"] [jsonDict["curveId"]] or ""#curveIdexcept:jsonDict["options"] = ""jsonDict["quoteTime"] = jsonSource["data"]["quoteTime"]jsonDict["showDateCN"] = jsonSource["data"]["showDateCN"]jsonDict["showDateEN"] = jsonSource["data"]["showDateEN"]jsonDict["provider"] = jsonSource["head"]["provider"]jsonDict["ts"] = jsonSource["head"]["ts"]jsonDict["tstext"] = jsonSource["head"]["tstext"]try:jsonDict["records"] = jsonSource["records"]except:jsonDict["records"] = ""jsonDict["issueCode"] = {}if jsonDict["records"] != "":for index,line in enumerate(jsonDict["records"]):jsonDict["issueCode"][jsonDict["curveTypeEn"] + "_" + line["tl"]] = [line["tl"],line["optimalAvg"],line["optimalAsk"],line["optimalBid"],line["curveid"]]for k,v in jsonDict["issueCode"].items():# print(k,jsonDict["showDateCN"],jsonDict["quoteTime"],jsonDict["curveTypeEn"],jsonDict["cfgItemType"],jsonDict["curveId"],jsonDict["options"],jsonDict["provider"],jsonDict["tstext"],v,)str = "insert into IRS_CFETS(IssueCode,showDateCN,quoteTime,curveTypeEn,cfgItemType,curveId,options,provider,tstext,tl,optimalAvg,optimalAsk,optimalBid) value('{IssueCode}','{showDateCN}','{quoteTime}','{curveTypeEn}','{cfgItemType}','{curveId}','{options}','{provider}','{tstext}','{tl}','{optimalAvg}','{optimalAsk}','{optimalBid}');"\.format(IssueCode = k,showDateCN = jsonDict["showDateCN"],quoteTime = jsonDict["quoteTime"],curveTypeEn = jsonDict["curveTypeEn"],cfgItemType = jsonDict["cfgItemType"],curveId = jsonDict["curveId"],options = jsonDict["options"],provider = jsonDict["provider"],tstext = jsonDict["tstext"],tl = v[0] ,optimalAvg = v[1],optimalAsk = v[2],optimalBid = v[3])print(str)dataDeal(str)# for line in jsonSource["records"]:#     Timer = line["tl"]#     jsonDict[Timer] =return  jsonDictif __name__ == "__main__":url = "http://www.chinamoney.com.cn/chinese/bkcurvfx/"   #总网站url = "http://www.chinamoney.com.cn/ags/ms/cm-u-bk-shibor/Ifcc?lang=CN&curveId=15&cfgItemType=71"for i in range(71,82,1):for k in [15,16,17]:print(i,k)url = "http://www.chinamoney.com.cn/ags/ms/cm-u-bk-shibor/Ifcc?lang=CN&curveId=" + str(k) + "&cfgItemType=" + str(i)cookies = {"_ulta_id.CM-Prod.e9dc":"a9368f3ef87b02ca"}headers = {"Accept":"application/json,text/javascript,*/*;q=0.01","Accept-Encoding":"gzip,deflate","Accept-Language":"zh-CN,zh;q=0.9","User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"}shibor3M = Shibor3M(url,headers,cookies)jsonRet = shibor3M.getJson()# print(jsonRet)# content = "insert into {curveType}(curveType,Provider,TimeStampData,TimeData) value('{curveType}','{Provider}','{TimeStampData}','{TimeData}');".format(curveType = jsonRet["curveType"],Provider = jsonRet["Provider"],TimeStampData = jsonRet["TimeStampData"],TimeData = jsonRet["TimeData"])# print(content)# dataDeal(content)# dataDeal("select * from shibor3m")

这里的数据都落库到数据库中,便于研究数据

python3爬外汇交易中心数据存入数据库相关推荐

  1. python爬取微博数据存入数据库_Python爬取微博数据并存入mysql,excel中

    寒假期间做微博数据统计,由于是部门要求,也没办法,自己又是一个懒人,直接用python实现吧.写的很粗糙,也很差,请大家别介意. 总的来说分成两个模块:一个爬取微博数据存入数据库,一个从数据库调取数据 ...

  2. python爬取微博数据存入数据库_Python爬取新浪微博评论数据,写入csv文件中

    因为新浪微博网页版爬虫比较困难,故采取用手机网页端爬取的方式 操作步骤如下: 1. 网页版登陆新浪微博 2.打开m.weibo.cn 3.查找自己感兴趣的话题,获取对应的数据接口链接 4.获取cook ...

  3. 爬虫学习——爬取台风数据存入数据库

    最近因为某些需求需要台风数据的数据库,因此想利用python写一个相关的程序~ 因为台风的数据77年之前是没有风圈等数据,所以台风在77年前只有一张数据表,在77年之后多了一张关于风圈风力的表.但是我 ...

  4. python抓取数据库_Python-7.爬取大量数据存入数据库

    本章包含内容: 前言 mongodb环境配置 爬取数据的代码分析 一.前言 在更新完上一篇python文章时,就一直想爬取一个10万量级的数据.在解了mongodb的基本用法和环境配置后,第一次测试的 ...

  5. python爬取微博数据存入数据库_python爬取微博并且存入数据库

    由于平时喜欢刷微博,追星,所以写了想要写一个爬取微博的爬虫,在老师的建议下选择从移动端爬取,因为移动端页面元素简洁,易于爬取.在看微博时发现有比移动端更加简单的一个版本....老年机版?就是分页式的. ...

  6. 如何将爬取的数据存入数据库中

    爬取链接:我爱我家 如果需要参考创建步骤,可以参考这篇文章 爬虫文件:loupan.py import scrapy from baiduSpider.items import Baiduspider ...

  7. 把爬取信息导出到mysql,关于爬虫学习的一些小小记录(四)——爬取数据存入数据库...

    关于爬虫学习的一些小小记录(四)--爬取数据存入数据库 创建数据库 pymysql 模块 具体操作 预知后事如何 前面我们已经讲了怎么访问网页,并且从网页源码中提取数据.既然数据有了,怎样管理就是下一 ...

  8. python爬取新闻存入数据库_python爬取数据存入数据库

    昨天本来写了一篇关于python爬取的文章,结果没通过,正好今天一起吧.用python同时实现爬取,和存入数据库,算是复习一下前面操作数据库的知识. 1.准备工作 既然是爬取,那自然要连接到爬取的页面 ...

  9. python爬取InterfaceLIFT壁纸,下载到本地,数据存入数据库(mysql,mongodb)

    github地址 欢迎star,欢迎拍砖 适用pythopn版本 Python 2.7 or Python 3.6 只在这两个版本之下测试过,正常运行 项目文件说明 main.py 主要文件 mysq ...

最新文章

  1. 定时器 Quartz
  2. 第三周课程总结及实验报告(一)
  3. Win 系统 PyTorch 安装配置教程
  4. 关于vue.js element ui 表单验证 this.$refs[formName].validate()的问题
  5. 《Migrating to Cloud-Native Application Architectures》学习笔记之Chapter 2. Changes Needed
  6. 记一次引入Elasticsearch的系统架构实战
  7. ffmpeg命令 抓屏_使用FFmpeg从视频中截图的命令 | 学步园
  8. clickhouse建库_专访ClickHouse创始人:数据库竞争依旧火热,技术整合势在必行
  9. 让secureCRT正确显示中文
  10. 基于MonteCarlo法的经典射击问题中的杀伤概率估计问题
  11. python not in range1002无标题_新手常见Python运行时错误
  12. 大白话5分钟带你走进人工智能-第二节概率基础及高斯分布
  13. 自定义分区partitioner实现数据分区存储
  14. 如何打开.jar文件?
  15. Android版简历(三)
  16. matlab截取rect,MATLAB 标注 图像上截取Rect区域图像
  17. 计算机操作系统学习笔记
  18. js 万年历农历转阳历 方法_JS实现带阴历的日历功能详解
  19. UWP 手绘视频创作工具技术分享系列 - 文字的解析和绘制
  20. 国外著名大学计算机教学考察随笔

热门文章

  1. 达摩易筋经十二式图解
  2. Oled实现动图显示——篮球少年
  3. AndroidTV开发教程(2)
  4. php输入文本框样式,html中关于文本框样式的总结大全(收藏)
  5. C6000 DSP技术深度探索-图像处理算法仿真到硬件实现踩过的那些坑
  6. Flume多source,多sink组合框架搭建
  7. Windows Bochs没有进入debug界面
  8. 乡村振兴,表达不可能,和表达没有,无脑表达,伤害表达,高精神平行表达
  9. CD光盘版本对音质的影响
  10. 全国三甲医院突破3000家,医疗格局正在生变