精华内容
下载资源
问答
  • 动态加载数据

    2020-05-17 20:27:32
    动态加载,不会显示在网页源码中 json是一种数据传输格式,本质上是对象 实现局部更新 对象就是本地用的,而json是作为数据传输用的 将Python对象编码成JSON字符串:json.dumps(data) 解码 JSON 对象:...
    ajax请求 json数据
    动态加载,不会显示在网页源码中 json是一种数据传输格式,本质上是对象
    实现局部更新 对象就是本地用的,而json是作为数据传输用的
    • 将Python对象编码成JSON字符串:json.dumps(data)

    • 解码 JSON 对象:json.loads(jsonData)

    • 将序列化的str保存到文件中json.dump(obj, fp,ensure_ascii=False)

        - obj: 表示是要序列化的对象。
        - fp: 文件描述符,将序列化的str保存到文件中。json模块总是生成str对象,而不是字节对象;因	此,fp.write()必须支持str输入。
        - ensure_ascii=Flase,禁止使用ascii编码,按utf-8编码
      
    • 从文件中读取json格式字符串,转化为python对象json.load(fp)

    •  fp: 文件描述符,将fp(.read()支持包含JSON文档的文本文件或二进制文件)反序列化为Python对象。
      

    药局总监

    页面分析:

    1. 确定页面中企业相关数据是否为动态加载? 相关的企业信息是动态加载出来的 通过抓包工具实现全 搜索,定位动态加载数据对应的数据包!
      post:http://125.35.6.84:81/xk/itownet/portalAction.do?method=getXkzsList
    2. 该请求返回的响应数据是一组json串,通过对json串的一个简单分析,没有找到企业详情页的url,但是找到个每一家企业的id
    3. 每一家企业详情页的url,域名都是一样的,只有请求参数id值不同 可以使用同一个域名结合着不同企业的id值拼接成一家完整企业详情页url
    4. 判断企业详情页中的数据是否为动态加载? 通过抓包工具检测,发现企业详情信息在详情页中为动态加载的数据
    5. 通过抓包工具实现全局搜索定位动态加载数据对应的数据包
      post-url:http://125.35.6.84:81/xk/itownet/portalAction.do?method=getXkzsById
      6 请求参数:id=xxxxx 请求到的json串就是我们最终想要的企业详情信息数据
    # -*- coding = utf-8 -*-
    #@time :2020/5/17 18:22
    #@file 药监总局.py
    #@Software: PyCharm
    
    import requests
    from fake_useragent  import UserAgent
    import json
    
    '''
    通过分析‘发现这个网页是一个动态加载的网页,右键源代码里面没有东西,是个ajx的动态请求,从XHR中找到post请求url
    '''
    if __name__ == '__main__':
        IDlist = []  # 所有企业ID
        infolist = []
        post_url = "http://125.35.6.84:81/xk/itownet/portalAction.do?method=getXkzsList"
        print("开始".center(10, "*"))
        start_page = int(input("请输入起始页码:"))
        end_page = int(input("请输入结束页码;"))
        for page in range(start_page,end_page+1):
            print("第%s页开始-"%page)
            fromdata={
                "on":"true",
                "page":page,
                "pageSize":"15",
                "productName":"",
                "conditionType":"1",
                "applyname":"",
                "applysn":"",
            }
            r =requests.post(url=post_url,headers={"User-Agent":UserAgent().chrome},data=fromdata)
            #获取json数据
            data_json = r.json()
            #遍历,获取ID 值,将data——json响应的信息,在json在线解析中发现,是一个字典,想要的ID 在这个list里面
            for data in data_json["list"]:
                IDlist.append(data["ID"])
    
    
        #获取详情页的post URL
        homepage_post = "http://125.35.6.84:81/xk/itownet/portalAction.do?method=getXkzsById"
        #遍历列表,每循环一次封装一次
        for id in IDlist:
            data ={
                "id":id,
            }
            r =requests.post(url=homepage_post,headers={"User-Agent":UserAgent().random},data=data)
            info =r.json()
            # print(info)
            infolist.append(info)
        #持久化存储
        fp =open("infodata.json","w",encoding="utf8")
        json.dump(infolist,fp=fp,ensure_ascii=False)
        print("结束".center(10,"*"))
    
    
    
    
    
    展开全文
  • Echart动态加载数据

    热门讨论 2014-08-07 12:29:52
    ECharts动态加载数据,传递给界面层map,显示相应的数据.
  • ECharts动态加载数据绘制折线图

    万次阅读 多人点赞 2019-02-19 15:28:08
    Echarts动态加载数据绘制折线图ECharts引入ECharts步骤连接数据接口,动态加载图表动态加载数据,整体代码 ECharts 纯Javascript的图表库,支持各种图表的绘制。 下载ECharts.js 引入ECharts 1.标签式单文件引入 &...

    ECharts

    纯Javascript的图表库,支持各种图表的绘制。
    下载ECharts.js

    引入ECharts

    1.标签式单文件引入

    <body>
        <div id="main" style="height:400px;"></div>
        //图表位置
        <script src="./js/echarts-all.js"></script>
        // 引入js文件
        <script>
            var myChart = echarts.init(document.getElementById('main'));
            var option = { }
            myChart.setOption(option);
        </script>
    </body>
    

    (这是较为简洁的使用方法)
    2.模块化引入文件

    <body>
        <div id="main" style="height:400px;"></div>
        ...
        <script src="./js/echarts.js"></script>
        <script type="text/javascript">
            require.config({
                paths: {
                    echarts: './js/dist'
                }
            });
            require(
                [
                    'echarts',
                    'echarts/chart/line',   // 按需加载所需图表,如需动态类型切换功能,别忘了同时加载相应图表
                    'echarts/chart/bar'
                ],
                function (ec) {
                    var myChart = ec.init(document.getElementById('main'));
                    var option = {
                        ...
                    }
                    myChart.setOption(option);
                }
            );
        </script>
    </body>
    

    步骤

    1.为 ECharts 准备一个具备大小(宽高)的 DOM 。
    定义一个待用的div,指定宽度、高度,设置id

     <div id="main" style="height:400px;"></div>
    

    2.引入echarts.js并加载

     <script src="./js/echarts.js"></script>
    

    3.基于准备好的dom,初始化echarts实例

     var myChart = echarts.init(document.getElementById('main'));
    

    4.指定图表的配置项和数据

     // 定义样式和数据
     
            var option = {
               
                  title: { //图表标题,可以通过show:true/false控制显示与否,subtext:'二级标题',
                    text: ''
                },
                backgroundColor: '#FFFFFF',
                
                tooltip : {//鼠标浮动时的工具条,显示鼠标所在区域的数据,trigger这个地方每种图有不同的设置
                    trigger: 'axis'
                },
                legend: {// 图例,每条折线或者项对应的示例
                    data:[]
                },
                calculable : true,
                xAxis : [
                    {
                        axisLabel:{
                            rotate: 30,
                            interval:0
                        },
                        axisLine:{
                            lineStyle :{
                                color: '#CCCCCC'
                            }
                        },
                        type : 'category',
                        boundaryGap : false,//从0刻度开始
                        // data:[]  X轴的定义
                        data : function (){
                            var list = [];
                            for (var i = 10; i <= 18; i++) {
                                if(i<= 12){
                                    list.push('2016-'+i + '-01');
                                }else{
                                    list.push('2017-'+(i-12) + '-01');
                                }
                            }
                            return list;
                        }()
                    }
                ],
                yAxis : [
                    {
    
                        type : 'value',
                        axisLine:{
                            lineStyle :{
                                color: '#CCCCCC'
                            }
                        }
                    }
                ],
                series : [
                    {
                        name:'新增用户',
                        type:'line',
                        // symbol:'none',//原点
                        smooth: 0.2,//弧度
                        color:['#66AEDE'],
                        // data:Y轴数据
                        data:[500,100,200,400,600,150,750,800,400,250,650,350]
                    },
                ]
            };
    

    5.使用刚指定的配置项和数据显示图表

    myChart.setOption(option);
    

    连接数据接口,动态加载图表

    使用ajax请求数据接口,获取图表数据,重新加载图表

    $.ajax({
                url:"user/userIncreaseList",
                type:'get',
                dataType:'json'
                success:function(jsons){
                    var Item = function(){
                        return {
                            name:'',
                            type:'line',
                            // itemStyle: {normal: {areaStyle: {type: 'default'}}},这为线条设置
                            label: {normal: {position: 'top'}},
                            markLine: {data: [{type: 'average', name: '平均值'}]},
                            data:[]
                        }
                    };// series中的每一项为一个item,所有的属性均可以在此处定义
                    var legends = [];// 准备存放图例数据
                    var Series = []; // 准备存放图表数据
                    var json = jsons.data;// 后台返回的json
                    for(var i=0;i < json.length;i++){
                        var it = new Item();
                        it.name = json[i].name;// 先将每一项填充数据
                        legends.push(json[i].name);// 将每一项的图例名称也放到图例的数组中
                        it.data = json[i].data;
                        Series.push(it);// 将item放在series中
                    }
    
                    // option.series.data=jsons.
                    option.xAxis[0].data = jsons.xcontent;// 设置X轴数据了
                    // 折线图可设置上下两个X轴,必须是option.xAxis[0].data = json.xcontent
                    option.legend.data = legends;// 设置图例
                    option.series = Series; // 设置图表
                    myChart.setOption(option);// 重新加载图表
                },
                error:function(){
                    alert("数据加载失败!请检查数据链接是否正确");
                }
            });
    

    动态加载数据,整体代码

    <body>
        <div id="main" style="height:400px;"></div>
        <script src="./js/echarts-all.js"></script>
        // 引入js文件
        <script>
            var myChart = echarts.init(document.getElementById('main'));
            
            //根据需求进行相应的设置
            var option = {
               
                  title: { //图表标题,可以通过show:true/false控制显示与否,subtext:'二级标题',
                    text: ''
                },
                backgroundColor: '#FFFFFF',
                tooltip : {//鼠标浮动时的工具条,显示鼠标所在区域的数据,trigger这个地方每种图有不同的设置
                    trigger: 'axis'
                },
                legend: {// 图例,每条折线或者项对应的示例
                    data:[]
                },
                calculable : true,
                xAxis : [ ],
                yAxis : [ ],
                series : [  ]
            };
    
    
    $.ajax({
                url:"user/userIncreaseList",
                type:'get',
                dataType:'json'
                success:function(jsons){
                    var Item = function(){
                        return {
                            name:'',
                            type:'line',
                            // itemStyle: {normal: {areaStyle: {type: 'default'}}},这为线条设置
                            label: {normal: {position: 'top'}},
                            markLine: {data: [{type: 'average', name: '平均值'}]},
                            data:[]
                        }
                    };// series中的每一项为一个item,所有的属性均可以在此处定义
                    var legends = [];// 准备存放图例数据
                    var Series = []; // 准备存放图表数据
                    var json = jsons.data;// 后台返回的json
                    for(var i=0;i < json.length;i++){
                        var it = new Item();
                        it.name = json[i].name;// 先将每一项填充数据
                        legends.push(json[i].name);// 将每一项的图例名称也放到图例的数组中
                        it.data = json[i].data;
                        Series.push(it);// 将item放在series中
                    }
    
                    // option.series.data=jsons.
                    option.xAxis[0].data = jsons.xcontent;// 设置X轴数据了
                    // 折线图可设置上下两个X轴,必须是option.xAxis[0].data = json.xcontent
                    option.legend.data = legends;// 设置图例
                    option.series = Series; // 设置图表
                    myChart.setOption(option);// 重新加载图表
                },
                error:function(){
                    alert("数据加载失败!请检查数据链接是否正确");
                }
            });
    
    
           // 初次加载图表
            myChart.setOption(option);
        </script>
    </body>
    

    折线图绘制

    在这里插入图片描述

    总结

    相关图表的属性设置,可以根据需求,查看官网上的相关API,进行设置。

    绘制多个图表的方法

    可以将绘制图表的方法单独写做一个方法,通过请求接口,获取数据之后,把数据格式调整为图表所需要的格式,再调用方法。

    echart官网
    https://echarts.baidu.com/index.html

    展开全文
  • JTable实现下拉动态加载数据,滑动动态加载数据,纯原生态java。
  • Element-UI的表格动态加载数据

    万次阅读 2017-08-16 16:59:08
    Element-UI的表格动态加载数据

    这几天用vue做项目,因为没有数据,全都是自己模拟的,终于今天来了数据,结果出了一点点小问题。数据没有加载进去,原因是我直接把获取的数据整个赋值了,这样

    是不对滴,需要循环一下,确保每一条数据都可以拿到。

    下面是源码:

    结构:

    数据:

    ajax成功后获取到的数据:

    最后一行的lett其实就是this,因为我在外面重新定义了一遍。

    如果有帮到你的话,欢迎激励一下作者。

    展开全文
  • 今天小编就为大家分享一篇解决Vue使用swiper动态加载数据,动态轮播数据显示白屏的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • viewpager 动态加载数据,左右滑动加载,已测试通过
  • 一、datagrid动态数据加载easyui datagrid实现动态加载数据,通常有两种方式。一种方式是通过动态改变datagrid的url属性,进行数据重载;另一种方式,是通过ajax动态加载json数据。1、改变url属性重载数据。var url=...

    一、datagrid动态数据加载

    easyui datagrid实现动态加载数据,通常有两种方式。一种方式是通过动态改变datagrid的url属性,进行数据重载;另一种方式,是通过ajax动态加载json数据。

    1、改变url属性重载数据。

    var url='./data.php?act=get_hwkc';
    $('#dg').datagrid('options').url=url;
    $('#dg').datagrid('reload');

     

    2、ajax动态加载json数据

     

    $.ajax({
    	type: 'POST',
    	url:'./data.php?act=get_hwkc',
    	data: {id:'001'},
    	dataType: 'json',
    	error: function(){
    		return false;
    	},
    	success:function(json)
    	{
    		$("#dg").datagrid("loadData", json);
    	    alert("加载成功!");
    	}
    });
    

     

    二、datagrid数据清空

     

    将datagrid赋值空数据,实现如下:

    $("#dg").datagrid("loadData", { total: 0, rows: [] });
    /*或者*/
    $("#dg").datagrid("loadData", []);

     

    展开全文
  • JS EasyUI DataGrid动态加载数据
  • 本篇文章主要介绍了bootstrap table动态加载数据示例代码,可以实现点击选择按钮,弹出模态框,加载出关键词列表,有兴趣的可以了解一下。
  • 大数据量高性能前端表格grid 动态加载数据 可以做到 一边滚动一边加载新的dom,并同时删除不可见的dom,防止因数据过大引起的dom卡顿
  • knockoutjs动态加载数据

    2016-02-22 08:16:17
    动态加载数据 从第一名排名到很多名 只要刷新就可以看到之后的名次 但是不刷新就看不到,直到刷新到显示最后一名
  • 非常合适新手,容易上手,动态加载数据,适配器很容易被小白看懂
  • 本文实例讲述了Android开发中Listview动态加载数据的方法。分享给大家供大家参考,具体如下: 最近在研究网络数据加载的问题,比如我有几百,甚至上千条数据,这些数据如果一次性全部加载到arraylist,然后再加载到...
  • 动态加载数据源关键一点:在系统运行时加载多一个数据源,加载此数据源的对象必须和系统启动时加载数据源的同一个,在我这里加载数据源的对象是类DynamicDataSource,可在这里添加一个加载数据源的方法: ...
  • 下面小编就为大家分享一篇swiper 解决动态加载数据滑动失效的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • echarts饼图动态加载数据

    千次阅读 2020-03-13 10:53:20
    echarts饼图动态加载数据 前台页面展示 注意点:准备一个有大小设置的div,引用js,ajax加载数据。 <div id="container10" style="width: 100%;height: 90%"> </div> <script type='text/...
  • 百度地图应用,有坐标转换,获取定位,点位的坐标和建筑物,动态加载数据
  • Echarts动态加载数据

    千次阅读 2017-05-05 21:38:02
    在为写这个项目之前,并没有大范围的写过前端,这次也是锻炼了,由于项目需求,要求echarts图动态加载数据(定时加载),一下是我在网上看到的例子,在此基础上做了修改,实现了功能。但觉得还有很多需改进和学习的...
  • 使用swiper动态加载数据遇到的坑

    万次阅读 2019-05-01 15:09:00
    使用swiper做轮播官网上的用法都很简单,因为案例的数据是写死在html里的,这样的情况下swiper放在页面的任意位置初始化都可以,但是实际开发中,很多时候轮播的数据我们是动态获取的,所以swiper结合动态加载数据的...
  • ztree动态加载数据

    千次阅读 2018-08-22 12:03:08
    ztree以数组形式动态加载数据 $(function(){  nodeTree();   })  /*var nodeName=$("#nodeName").val();//名称  var capacity=$("#ui-id-1 option:selected").val();//容量  var zone=$(&...
  • swiper支持动态加载数据

    万次阅读 2018-01-24 20:39:43
    用swiper插件动态加载数据:动态获取完数据之后,在初始化swiper. 1、在标签里面加入swiper的css和js文件 2、html如下: 3、js如下: function handle
  • iscroll动态加载数据完美解决方案
  • bootstrap-multiselect动态加载数据,首先要引用bootstrap-multiselect.css和bootstrap-multiselect.js
  • android 实现listview动态下拉刷新,动态加载数据 可以避免一次数据加载过多
  • 初始化加载数据: <table id="table-large-columns" data-toggle="table... 添加了一个按钮,想改变URL,重新加载数据: ...button onclick="loadTable();...请大虾帮帮忙,如何实现改变URL,再动态加载数据。谢谢。
  • HelloChart框架动态加载数据

    千次阅读 2017-06-21 10:48:47
    一个动态加载数据的图表,首次进入加载20条,并且视图显示在最右边,然后滑动到最左边的时候会再动态加载20条数据
  • java swing 多选下拉框 支持动态加载数据 (优化了网上的下拉框代码)
  • ListView动态加载数据

    2014-11-27 17:32:51
     当listview需要加载的数据过多时,若一次性载入则速度会相当缓慢,影响用户体验,这时候就需要动态加载数据,即每次载入固定长度的数据,android market的listview就是采用这种方式,使得加载看起来很平滑,响应...
  • selectpicker 动态加载数据

    千次阅读 2018-10-19 14:14:50
    在做二级下拉菜单动的时候,一般需要动态的给第二个下拉菜单赋值(有时候第一个下拉菜单也是动态加载数据),一般的下拉框的样式比较丑,当使用selectpicker进行下拉菜单美化时,有可能导致下拉菜单加载不进来,这里...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,414
精华内容 6,565
关键字:

动态加载数据