由于之前从事过石化行业,上海石油天然气交易中心成立虽较晚(2015年成立),但一直有关注,去年下半年由于大量供暖采取煤改气,还一个没有霾笼罩的冬天,因此出现了天然气大幅涨价供不应求的状况,闲着没事就用python爬了下上海石油天然气交易中心官网的液化天然气交易数据,并简单做了下数据可视化。

话不多说进入正题:打开 上海石油天然气交易中心 选择 数据指数 点击 LNG 数据,如下:

首先粗略观察下页面结构,如下:

是不是感觉很简单,发现这么规整的数据,左上角还有查询功能,底部有翻页点击。

但是你查询或者点击的时候会发现地址栏是没有变化的,所以可以肯定是post请求了,查询的参数隐藏了,并且你多试几次会发现在‘’全部‘’选项下,如果不指定查询日期,虽然页面底部写着有 2万多条数据,但是你点击最后一页的时候你会发现,后面的数据全是null,空的,难道这是他们故意设置的反爬?搞不懂.....,既然‘全部'选项不指定日期的情况下不知道有多少数据,那我们尝试指定查询日期,试几次发现数据只到2015年7月,2015年7月之前的数据是没有的,这也好理解,毕竟交易中心没成立多久(2015年1月成立,正式挂牌交易日期还得往后延)。

继续分析页面,既然确定了是post请求方式获取网站数据,那么我们使用抓包工具抓包,我使用的是fiddler,设定查询日期从2015-01-01开始一直到现在,点击查询,查看抓包工具信息如下

可以看到 body下面有一个参数表格这就是我们需要的参数信息,先不管代表的含义,继续查看,如下:

其中post是我们请求的网址,中间的不管,最后一行你会发现跟上个图的参数是对应的所以复制下来,将post网址最后加上?后接着加上最后一行,然后继续分析

指定查询日期点击下一页的时候,抓包显示如下:

start参数变成了25,指定的查询日期也在starttime,endtime两个参数那对应,第一个,第二个和最后一个参数先不管,我们可以尝试直接获取网站的返回数据了,如下链接:

https://www.shpgx.com/marketstock/dataList?wareid=3&cd=&starttime=&endtime=&start=0&length=25&ts=1543073580567

得到的是json格式数据,如下:

分析发现页面正好25条数据,对应length参数,start从0开始,每点击下一页增加25,查询时间参数可以指定,cd是表示地区,查询表单里头的华东,华南,华北,西北等等,空是表示查询全部,但是ts表示什么呢,ts完全看不出规律来,那我们尝试将请求网址中的 ts参数删除 ,发现完全没影响,页面数据正常返回,这样前期分析工作基本完成,可以拿出python了

代码上传到了github上了

爬取到的数据如下:

可以采用Pool池多进程爬取,

接下来就是数据清洗规整了,这个很头疼,很费时间,感觉需要说的太多了,哈哈,偷个懒,直接上图,处理成如下:

我是设置的年,月,日,地区四个层级索引,然后新增了一个交易额列,也就是交易量与交易价格的乘积

时间有限,只做了按年-地区和按月-地区的交易量可视化,还可以做很多,比如交易额,根据层级索引搭配能做出多种可视化分析,时间有限,感兴趣的朋友可以自己动手尝试下。

另外再说点,我了解到的是华东地区主要LNG接收地是浙江宁波,辐射江浙沪皖地区,毕竟宁波海岸线都是港口。。华东交易的基本都是中海油的。福建归为华南,辐射本省及江西还有粤东,珠江三角洲及北海接收站归为华南,华南交易的可以看到中石化的影子了,珠三角主要广东自己销了,广西北海接收站辐射湘赣,云贵,偶尔会给广东调配一下,华北的话主要是 天津 辐射 京津冀地区,像西北、华中数据差不多为零,对于西北用气本身处于西气东输干线位置,华中的话大部分是接收的四川盆地来气且本身用气相对华东华北来说较少。可以看出上海石油天然气市场化交易主要集中在华东(中海油),加上近年舟山加大对石化行业的投资,比如新奥舟山接收站,进口国外燃气接海底管道从宁波上岸,华东市场会更加活跃,也占据着龙头地位,以华东为中心,带动华南、华北市场化程度,交易量逐步成上升趋势,也就是说能源交易市场化程度越来越高,交易更加透明。

回聊下去年入冬燃气价格疯涨,大量煤改气供暖,产生突增的需求,另外从图中可以看出2017年10月、11月这两个月份没有交易数据,具体不知道是各地调度供不应求,根本不需要放到市场上交易,还是这两个月无进口量,对比2018年的交易量可知,今年过冬燃气能保证较为充足的供应的、价格也能够保证较为平稳的,不会出现去年一样的价格陡增、燃气供不应求。

看到的朋友,如果喜欢的话,欢迎转载,欢迎评论!

python抓取交易所_python爬取上海石油天然气交易中心液化天然气交易数据并可视化分析...相关推荐

  1. python微信爬取教程_python爬取微信文章方法

    本文给大家分享的是使用python通过搜狗入口,爬取微信文章的小程序,非常的简单实用,有需要的小伙伴可以参考下 本人想搞个采集微信文章的网站,无奈实在从微信本生无法找到入口链接,网上翻看了大量的资料, ...

  2. python爬取评论_Python爬取豆瓣《复仇者联盟3》评论并生成乖萌的格鲁特

    ### 1. 需求说明 本项目基于Python爬虫,爬取豆瓣电影上关于复仇者联盟3的所有影评,并保存至本地文件.然后对影评进行分词分析,使用词云生成树人格鲁特的形象照片. ### 2. 代码实现 此部 ...

  3. python爬取资料_Python爬取FLASH播放器中的资料

    Python爬取FLASH播放器中的资料. 一.首先了解一下AMF协议:AMF(Action Message Format)是Flash与服务端通信的一种常见的二进制编码模式,其传输效率高,可以在HT ...

  4. python爬取歌曲_python爬取网易云音乐热歌榜实例代码

    首先找到要下载的歌曲排行榜的链接,这里用的是: https://music.163.com/discover/toplist?id=3778678 然后更改你要保存的目录,目录要先建立好文件夹,例如我 ...

  5. python爬取美女_Python爬取高颜值美女(爬虫+人脸检测+颜值检测)附学习教程

    1 数据源 知乎话题『美女』下所有问题中回答所出现的图片 2 抓取工具 Python 3,并使用第三方库 Requests.lxml.AipFace,代码共 100 + 行 3 必要环境Mac / L ...

  6. 爬虫python代码网易云_python爬取网易云音乐热歌榜实例代码

    首先找到要下载的歌曲排行榜的链接,这里用的是: https://music.163.com/discover/toplist?id=3778678 然后更改你要保存的目录,目录要先建立好文件夹,例如我 ...

  7. 做一个python的旅游系统_Python爬取13个旅游城市,告诉你新年大家最爱去哪玩?...

    2020年马上就要到了,放一天假,很多人只是选择周边游,因为时间不是很充裕,各个景点成了人山人海,拥挤的人群,甚至去卫生间都要排队半天,那一刻我突然有点理解灭霸的行为了. 今天,通过分析去哪儿网部分城 ...

  8. python唯美壁纸_Python爬取5K分辨率超清唯美壁纸

    转载: 简介 壁纸的选择其实很大程度上能看出电脑主人的内心世界,有的人喜欢风景,有的人喜欢星空,有的人喜欢美女,有的人喜欢动物.然而,终究有一天你已经产生审美疲劳了,但你下定决定要换壁纸的时候,又发现 ...

  9. python爬取电子书_python爬取 “得到” App 电子书信息

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 静觅 崔庆才 PS:如有需要Python学习资料的小伙伴可以加点击下 ...

最新文章

  1. python_socket
  2. 使用Volley StringRequest Get的方式进行发票查询操作
  3. 怎样封装一个自己的mvc框架(五)
  4. 华菱重卡仪表指示说明_仪表装置11种常见故障的解决方法
  5. 恒强制版系统980_速来围观 | 恒强制版小图高级功能讲解
  6. 大一计算机导论期中考试,大一计算机导论试题
  7. Spring Boot整合Swagger3配置全局Token
  8. 项目构建之maven篇:3.m2eclipse使用
  9. cdrx8如何批量导出jpg_Coreldraw 8插件下载|Coreldraw x8高版本文件(保存为coreldraw 8.0版)最新插件_ - 极光下载站...
  10. 如何用UE4制作2D游戏文档(五)——战斗篇
  11. 利用FPGA实现出租车计费系统
  12. stm32实现红外自发自收
  13. 【每日爬虫】:生产者与消费者模式爬取王者荣耀壁纸
  14. 北大计算机系女神每天必看必学的IT公众号
  15. 开发中的各种时间格式转换(二)
  16. MasterCAM螺旋线的两种画法:螺旋线命令和插件方法
  17. 前端面试知识点大全——浏览器篇
  18. 龙芯2k开发板Debian系统安装教程
  19. LeetCode题目:1744. 你能在你最喜欢的那天吃到你最喜欢的糖果吗?
  20. 程序员吐槽培训班简历造假,经验包装竟拿到阿里外包26k的offer

热门文章

  1. Java中单点登录的实现——类似QQ“顶号”操作
  2. Android开发丶集成微信原生分享并于分享网页时加载网络缩略图
  3. web程序设计(前端)实验二——表单设计
  4. Java整型byte、short、int、long的取值范围
  5. 评价指标:半峰全宽FWHM(MATLAB Field II仿真)
  6. php代码着色器,使用Shader Graph实现《塞尔达传说:旷野之息》风格的着色器(转)...
  7. 研发思维07----嵌入式智能产品安全认证必要经过
  8. UVALive 4950 Selling Land
  9. jpg格式电脑怎么弄_电脑上怎么压缩JPG图片?两种方法帮你轻松解决
  10. tkinter canvas jpg_1分钟教你将JPG图片转为CAD文件,简单到没朋友,小白必看