使用新浪财经7*24直播的数据

简单的做一个山寨品

在线地址:[痛苦啊,有GFW,却没有vpn,往heroku上传浪费了好多时间。。。]

http://wangxinsheng.herokuapp.com/sinaFinLive

效果图:

---

代码:

css:直接使用新浪的

index[代码简单,不写注释了]:

  1. <html>
  2. <head>
  3. <title>新浪财经[7*24直播]</title>
  4. <link rel="stylesheet" href="live_fin_v1.css">
  5. <script src='jquery-1.11.1.min.js'></script>
  6. </head>
  7. <body>
  8. <style>
  9. .bd_topic{cursor:pointer;}
  10. </style>
  11. <div class="wrap clearfix">
  12. <div class="bd_weibo">
  13. <div class="bd_tt clearfix">
  14. <div class="bd_topics clearfix">
  15. <span class="bd_topic bd_topic_cur" onclick='setTagAndGet(0,this);'>全部</span>
  16. <span class="bd_topic"><a onclick='setTagAndGet(10,this);'>A股</a></span>
  17. <span class="bd_topic"><a onclick='setTagAndGet(1,this);'>宏观</a></span>
  18. <span class="bd_topic"><a onclick='setTagAndGet(2,this);'>行业</a></span>
  19. <span class="bd_topic"><a onclick='setTagAndGet(3,this);'>公司</a></span>
  20. <span class="bd_topic"><a onclick='setTagAndGet(4,this);'>数据</a></span>
  21. <span class="bd_topic"><a onclick='setTagAndGet(5,this);'>市场</a></span>
  22. <span class="bd_topic"><a onclick='setTagAndGet(6,this);'>观点</a></span>
  23. <span class="bd_topic"><a onclick='setTagAndGet(7,this);'>央行</a></span>
  24. <span class="bd_topic"><a onclick='setTagAndGet(8,this);'>其他</a></span>
  25. </div>
  26. <div class="bd_refresh clearfix">
  27. <div class="refresh_ck">
  28. <label class="autorefreshlb" for="autorefresh"><span class="autorefreshsecs">X</span><span class="autorefreshlbtxt">秒后刷新</span></label>
  29. </div>
  30. </div>
  31. </div>
  32. <div class="bd_c">
  33. <div class="bd_c0" id="bd_c0">
  34. <!-- data list -->
  35. </div>
  36. </div>
  37. </div>
  38. </div>
  39. <script>
  40. /*
  41. // 文字转16进制
  42. var toUnicode = function (s) {
  43. var str = "";
  44. for (var i = 0; i < s.length; i++) {
  45. str +="\\u"+s.charCodeAt(i).toString(16)+"\t";
  46. }
  47. return str;
  48. }
  49. var a = '胜多负89%少';
  50.  
  51. document.write(toUnicode(a)); // \u80dc \u591a \u8d1f \u5c11
  52. // 16进制转文字
  53. var toStr = function (n){
  54. var str = "";
  55. var s = n.split('\\u');
  56. for(var i = 0;i < s.length;i++){
  57. str += String.fromCharCode(parseInt(s[i],16))+"\t";
  58. }
  59. return str;
  60. }
  61. var b = "\\u80dc \\u591a \\u8d1f \\u5c11\\u3002\\u8fbe";
  62. b = "\\u53d1\\u6539\\u59d4\\u6279\\u51c6\\u5efa\\u8bbe\\u9999\\u683c\\u91cc\\u62c9\\u81f3\\u4e3d\\u6c5f\\u516c\\u8def\\uff0c\\u9879\\u76ee\\u9884\\u8ba1\\u6295\\u8d44203\\u4ebf\\u5143\\u4eba\\u6c11\\u5e01\\u3002 \\u65b0\\u6d6a\\u4e8b\\u4ef6\\u76f4\\u64ad";
  63.  
  64. document.write(toStr(b)); // 胜 多 负 少
  65. */
  66. // 时间戳转日期
  67. function getDate(tm){
  68. var tt=new Date(parseInt(tm) * 1000);//.toLocaleString().replace(/年|月/g, "-").replace(/日/g, " ");
  69. return tt;
  70. }
  71. // 数据取得或的callBack方法
  72. function t14222533(data){
  73. if(data.result.status.code==0){
  74. if(data.result.data.length>0){
  75. //append
  76. for(var i = data.result.data.length-1;i >=0;i--){
  77. var item = data.result.data[i];
  78. var day = getDate(item.created_at);
  79. var dayName = day.getFullYear()+"年"+((day.getMonth()+1)<10?'0'+(day.getMonth()+1):(day.getMonth()+1))+"月"+(day.getDate()<10?'0'+day.getDate():day.getDate())+"日";
  80. var timeName = ((''+day.getHours()).length<2?('0'+day.getHours()):day.getHours())+":"+((''+day.getMinutes()).length<2?('0'+day.getMinutes()):day.getMinutes())+":"+((''+day.getSeconds()).length<2?('0'+day.getSeconds()):day.getSeconds());
  81. var tmpStr = oneData.replace(/\{\%today\%\}/g,dayName).replace(/\{\%id\%\}/g,item.id).replace(/\{\%day\%\}/g,dayName).replace(/\{\%time\%\}/g,timeName).replace(/\{\%tag\%\}/g,'').replace(/\{\%content\%\}/g,item.content);
  82. var display = 'none';
  83. tmpStr = tmpStr.replace(/\{\%display\%\}/g,display);
  84. $("#bd_c0").prepend(tmpStr);
  85.  
  86. $("div[data-today='"+dayName+"']").find(".bd_date").hide();
  87. $("div[data-today='"+dayName+"']").eq(0).find(".bd_date").show();
  88. /* 隐藏当天日期
  89. var toDay = new Date();
  90. todayName=toDay.getFullYear()+"年"+((toDay.getMonth()+1)<10?'0'+(toDay.getMonth()+1):(toDay.getMonth()+1))+"月"+(toDay.getDate()<10?'0'+toDay.getDate():toDay.getDate())+"日";
  91. $("div[data-today='"+todayName+"']").find(".bd_date").hide();
  92. */
  93. id = item.id;
  94. }
  95. }
  96.  
  97. $(".autorefreshsecs").html(maxTime);
  98. clearTimeout(setTimeoutObj);
  99. setTimeoutObj = setTimeout(animate,1000);
  100. //console.log('go');
  101. }else{
  102. console.log(data);
  103. }
  104. }
  105. /*
  106. http://live.sina.com.cn/zt/api/f/get/finance/globalnews1/index.htm?format=json&callback=t14222547&id=114975&tag=0&pagesize=15&dire=b&dpc=1
  107.  
  108. http://live.sina.com.cn/zt/api/f/get/finance/globalnews1/index.htm?format=json&callback=t14222533&id=114986&tag=0&pagesize=45&dire=f&dpc=1
  109.  
  110. t14222533({"result":{"status":{"code":0,"msg":"\u83b7\u53d6\u6210\u529f, succ"},"pageStr":{"totalPage":1,"pageSize":45,"prePage":1,"nextPage":1,"firstPage":1,"lastPage":1,"totalNum":1,"pName":"page","page":1,"paramStr":"http:\/\/live.sina.com.cn\/zt\/api\/app_zt\/f\/get\/finance\/globalnews1\/index.htm\/?format=json&callback=t14222533&id=114986&tag=0&pagesize=45&dire=f&"},"data":[{"id":"114988","mid":"3803267903335890","sp_id":"152","uid":"3969238805","content":"\u53d1\u6539\u59d4\u6279\u51c6\u5efa\u8bbe\u9999\u683c\u91cc\u62c9\u81f3\u4e3d\u6c5f\u516c\u8def\uff0c\u9879\u76ee\u9884\u8ba1\u6295\u8d44203\u4ebf\u5143\u4eba\u6c11\u5e01\u3002","source":"<a href=\"http:\/\/app.weibo.com\/t\/feed\/6n8uPl\" rel=\"nofollow\">\u65b0\u6d6a\u4e8b\u4ef6\u76f4\u64ad<\/a>","created_at":"1422253192","original_pic":"","pic_ids":"","video":"","reposts":0,"comments":0,"attitudes":0,"pmid":"0","re_mid":"0","re_uid":"0","re_content":"","re_source":"","re_created_at":"0","re_original_pic":"","re_pic_ids":"","re_video":"","re_reposts":"0","re_comments":"0","re_attitudes":"0","is_audit":"1","is_launch":"0","is_del":"0","creator":"yongliang3","mender":"","created_time":"1422253192","modified_time":"0","notes":"","user":{"id":3969238805,"idstr":"3969238805","class":1,"screen_name":"fin_\u56fe\u6587\u76f4\u64ad","name":"fin_\u56fe\u6587\u76f4\u64ad","province":"11","city":"1000","location":"\u5317\u4eac","description":"","url":"","profile_image_url":"http:\/\/tp2.sinaimg.cn\/3969238805\/50\/5690088076\/1","profile_url":"u\/3969238805","domain":"","weihao":"","gender":"m","followers_count":1849,"friends_count":2,"pagefriends_count":0,"statuses_count":72181,"favourites_count":0,"created_at":"Wed Jan 08 15:47:33 +0800 2014","following":false,"allow_all_act_msg":false,"geo_enabled":true,"verified":false,"verified_type":-1,"remark":"","ptype":0,"allow_all_comment":true,"avatar_large":"http:\/\/tp2.sinaimg.cn\/3969238805\/180\/5690088076\/1","avatar_hd":"http:\/\/ww4.sinaimg.cn\/crop.0.0.179.179.1024\/ec95c715jw1ecc6o54vfcj2050050aad.jpg","verified_reason":"","verified_trade":"","verified_reason_url":"","verified_source":"","verified_source_url":"","follow_me":false,"online_status":0,"bi_followers_count":0,"lang":"zh-cn","star":0,"mbtype":0,"mbrank":0,"block_word":0,"block_app":0,"credit_score":80,"urank":11},"base62mid":"C1n0OdZOG","base62pmid":"","base62re_mid":"","pic_ids_plus":"","re_pic_ids_plus":"","tag":[{"tag_id":"2","tag_name":"\u884c\u4e1a"}]}]}});
  111. */
  112.  
  113. var oneData = '<div class="bd_list" data-today="{%today%}">'
  114. +'<div class="bd_i bd_i_og bd_i_1st clearfix " data-id="{%id%}">'
  115. +'<div class="bd_date" style="display:{%display%};">{%day%}<!--2015年1月1日--></div>'
  116. +'<div class="bd_i_time clearfix">'
  117. +'<p class="bd_i_time_c">{%time%}<!--19:32:37--></p>'
  118. +'<p class="bd_i_tags"> {%tag%}<!--类型-->&nbsp;</p>'
  119. +'</div>'
  120. +'<div class="bd_i_c">'
  121. +'<div class="bd_i_txt clearfix">'
  122. +'<p class="bd_i_txt_c">{%content%}</p>'
  123. +'</div>'
  124. +'</div>'
  125. +'</div>';
  126.  
  127. var scriptStr = "<script id=\'getData\' src=\'{%url%}\'><\/script>";
  128. var pagesize = 10;
  129. var tag = 0;
  130. var urlStr = 'http://live.sina.com.cn/zt/api/f/get/finance/globalnews1/index.htm?format=json&callback=t14222533&id={%id%}&tag={%tag%}&pagesize={%pagesize%}&dire=f&dpc=1';
  131. var id = '114765';
  132. var orgId = '114765';
  133. var scriptObj = null;
  134. var maxTime = 60;
  135. var setTimeoutObj = null;
  136. function getData(){
  137. $('#getData').remove();
  138. var urlTmp = urlStr.replace(/{%id%}/g,id).replace(/{%pagesize%}/g,pagesize).replace(/{%tag%}/g,tag);
  139. scriptObj = $((scriptStr.replace(/{%url%}/g,urlTmp)));
  140. $('body').append(scriptObj);
  141. //console.log(scriptObj);
  142. }
  143. $(function(){
  144. var urlTmp = urlStr.replace(/{%id%}/g,id).replace(/{%pagesize%}/g,pagesize).replace(/{%tag%}/g,tag);
  145. scriptObj = $((scriptStr.replace(/{%url%}/g,urlTmp)));
  146. $('body').append(scriptObj);
  147. $(".autorefreshsecs").html(maxTime);
  148. });
  149. function animate(){
  150. var time = parseInt($(".autorefreshsecs").html())-1;
  151. $(".autorefreshsecs").html(time);
  152. //console.log(time);
  153. if(time==0){
  154. getData();
  155. }else{
  156. clearTimeout(setTimeoutObj);
  157. setTimeoutObj = setTimeout(animate,1000);
  158. }
  159. };
  160. function setTagAndGet(tag,obj){
  161. $(".autorefreshsecs").html(maxTime);
  162. $("#bd_c0").html('');
  163. clearTimeout(setTimeoutObj);
  164. $('.bd_topic_cur').removeClass('bd_topic_cur');
  165. $(obj).addClass('bd_topic_cur');
  166. id=orgId;
  167. tag=tag
  168. $('#getData').remove();
  169. var urlTmp = urlStr.replace(/{%id%}/g,id).replace(/{%pagesize%}/g,pagesize).replace(/{%tag%}/g,tag);
  170. scriptObj = $((scriptStr.replace(/{%url%}/g,urlTmp)));
  171. $('body').append(scriptObj);
  172. }
  173.  
  174. </script>
  175.  
  176. </body>
  177. </html>

---

CSDN下载:

http://download.csdn.net/detail/wangxsh42/8398785

[模仿][JS]新浪财经7*24直播的更多相关文章

  1. video.js支持m3u8格式直播

    为什么要使用video.js? 1. PC端浏览器并不支持video直接播放m3u8格式的视频 2. 手机端各式各样的浏览器定制的video界面风格不统一,直接写原生的js控制视频兼容性较差 3. v ...

  2. js 弹窗广告24小时显示一次

    弹窗24小时显示一次 https://www.w3cschool.cn/javascript/js-cookies.html 我们需要借助cookie来实现这个功能 function setcooki ...

  3. python中字符串的处理总结

    在爬取新浪财经7*24直播中, 遇到了Unicode编码中文转utf-8的问题, 采用如下代码可以实现转化 >>> a='\\u76d1\\u7ba1\\u5bf929' >& ...

  4. 利用Docker挂载Nginx-rtmp(服务器直播流分发)+FFmpeg(推流)+Vue.js结合Video.js(播放器流播放)来实现实时网络直播

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_75 众所周知,在视频直播领域,有不同的商家提供各种的商业解决方案,其中比较靠谱的服务商有阿里云直播,腾讯云直播,以及又拍云和网易云 ...

  5. Swiper.js 中文API手册

    本文分享自 http://www.cnblogs.com/scavengers/p/3760449.html ---------------------------华丽的分割线------------ ...

  6. 基于nginx的rtmp直播服务器(nginx-rtmp-module实现)

    首先,在搭建服务之前先了解下目前主流的几个直播协议: 1.RTMP: 实时消息传输协议,Real Time Messaging Protocol,是 Adobe Systems 公司为 Flash 播 ...

  7. 在这个看脸的世界,该如何优雅的创建JS对象

    Javascript是一门解释型的语言,是基于对象的,严格来说并不怎么符合的面向对象的标准,显著的特点就是函数就是“一等对象”,与传统的面向对象语言不同的时,Javascript有“一千种”方法来创建 ...

  8. HTML5 audio元素如何使用js与jquery控制其事件

    前言: 每一次遇见问题想到的就是怎么解决?最好的方法还是查询网络媒体,更好的办法是让自己记忆,只有自己理解到了才真正是属于自己.要做一个订单提醒功能,没有使用audio相关的插件,虽然插件无数,还是喜 ...

  9. 当爬虫遇到js加密

    当爬虫遇到js加密 我们在做python爬虫的时候经常会遇到许多的反爬措施,js加密就是其中一种. 破解js加密的方法也有很多种: 1.直接驱动浏览器抓取数据,无视js加密. 2.找到本地加密的js代 ...

随机推荐

  1. ubuntu安装php mcrypt扩展

    1.安装扩展 sudo apt-get install php5-mcrypt 2.添加扩展配置文件 apt-get没有在/etc/php5/cli/conf.d/和/etc/php5/fpm/con ...

  2. [原]如何在Android用FFmpeg+SDL2.0解码显示图像

    如何在Android上使用FFmpeg解码图像参考文章[原]如何在Android用FFmpeg解码图像 ,如何在Android上使用SDL2.0来显示图像参考[原]零基础学习SDL开发之在Androi ...

  3. C#基础总结之三循环控制-for-数组-乘法表-arraylist

    #region 第三天 作业 乘法表 ////正三角 //for (int i = 1; i < 10; i++) //{ // for (int j = 1; j <= i; j++) ...

  4. MyBatis知多少(10)应用程序数据库

    应用程序数据库往往是最小.最简单.也最易于使用的数据库.这种数据库往往是我们这些开发人员通常不介意使用甚至非常乐意使用的.应用程序数据库通常与我们的应用程序处于同一个项目中,两者一齐设计和实现.正是因 ...

  5. [持续更新]UnsatisfiedLinkError常见问题及解决方案

    想必很多开发者和我们一样,遇到过许多UnsatisfiedLinkError的困难,着实令人头疼,现在总结一下,希望能帮助更多的人. 常见错误 lib库不同目录下的SO文件参差不齐. lib库目录下的 ...

  6. SpringMVC学习系列-后记 结合SpringMVC和Hibernate-validator,根据后台验证规则自动生成前台的js验证代码

    在SpringMVC学习系列(6) 之 数据验证中我们已经学习了如何结合Hibernate-validator进行后台的数据合法性验证,但是通常来说后台验证只是第二道保险,为了更好的用户体验会现在前端 ...

  7. Linux高级编程--07.进程间通信

    每个进程各自有不同的用户地址空间,进程之间要交换数据必须通过在内核中开辟缓冲区,从而实现数据共享. 管道 管道是一种最基本的IPC机制,由pipe函数创建: int pipe(int filedes[ ...

  8. 找工作--Java相关

    Hi 各位 首先自我描述一下,80后程序员,现在在做Eclipse插件开发. 求Java相关职位(Java/Swing/Eclipse Plugin/Python etc), 或者Linux下C相关职 ...

  9. 64位Win7下安装与配置PHP环境【Apache+PHP+MySQL】

    [软件下载] 本安装实例所使用安装文件如图所示: 其中,64位版本的MySQL安装文件mysql-5.5.33-winx64.msi,可直接从官网下载,下载地址:http://dev.mysql.co ...

  10. 编写高质量JS代码的68个有效方法(十一)

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...