Echarts世界地图和网页表格数据交互联动

html布局:

 1 <div class="column">
 2             ="panel bl bar1" 3                 ="panelFooter"></div 4                 h2>世界疫情数据汇总查询</ 5                 ="map-table">
 6                 table align="center" style="margin:3px"  cellspacing="7px" 7                 form id="find_value" 8                     label><font color="#ff7f50">输入国家:font 9                     input ="cname" type="text" name placeholder="" value=""10                     type="button"="查询" onclick="find_res()"11                     ="reset"="重置"12                 form13                 thead14                  tr style="color: #FFB6C1"15                 th>时间16                 >国家17                 >累计确诊18                 >累计治愈19                 >累计死亡20                 >现存确诊21                 >排名22               tr23                 24                 tbody ="bd_data"25                 tbody26             table27 <!--                <div class="chart"></div>-->
28                 <div class="panelFooter"></div>29                 30             31         >

CSS布局:

 1 th{
 2      font-size: 14px;
 3 }
 4 td{
 5     font-size: 12px;
 6     background: rgba(176,196,222,0.4);
 7 }
 8 .map-table{
 9     position: absolute;
10     margin: 20px 10px 10px 10px;
11     overflow:scroll;
12     height: 9.2rem;
13 }
14 .panel {
15  relative;
16  5rem;
17     /* width: 100%; */
18     border: 1px solid rgba(25,186,139,0.17);
19  rgba(21,25,101,0.5) url('../images/line(1).png');
20     padding: 0 0.1875rem 0.5rem;
21     margin-bottom: 0.3rem;
22 }
23 
24 .panelFooter {
25 26     bottom: 0;
27     left:28      background-color: pink; 29  10px;
30     width: 100%;
31 }
32 
33 .panelFooter::before {
34 35     top:36      要给内容 37     content: "";
38 39 40 41     border-bottom: 2px solid #02a6b5;
42     border-left:43 }
44 
45 .panelFooter::after {
46 47 48     49 50     right:51 52 53 54     border-right:55 }

数据库查询代码:

结果类型:

[ { },{ } ]

1 def find_worldByName(c_name):
2     sql = " SELECT * FROM world WHERE c_name LIKE '%%%%%s%%%%' order by dt desc "%c_name
3     # sql_temp = " SELECT * FROM world WHERE c_name LIKE '"+c_name+"'"
4     res = query(sql)
5     list= []
6     for i in res:
7          print(i)
8         list.append(i)
9     return list;

爬取世界疫情数据(中国的数据已经另外爬取并和世界数据一起存入数据库)

  1 """
  2 获取全球疫情数据
  3   4  get_world_data():
  5     爬取中国数据
  6     china_url = 'https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5&callback=jQuery34102848205531413024_1584924641755&_=1584924641756'
  7     china_headers = {
  8         user-agent': Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3741.400 QQBrowser/10.5.3863.400  9     }
 10     res = requests.get(china_url,headers=china_headers)
 11      输出全部信息
 12      print(res.text)
 13     china_response_data = json.loads(res.text.replace(jQuery34102848205531413024_1584924641755(','')[:-1])
 14      print(china_response_data)
 15     print(json.loads(china_response_data[data']).keys())
 16     res_china=json.loads(china_response_data[]);
 17     print(res_china[chinaTotal 18     chinaAdd 19     url=https://api.inews.qq.com/newsqa/v1/automation/foreign/country/ranklist 20     headers={WOW64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/86.0.4240.198 Safari/537.36}
 21      创建会话对象
 22      session = requests.session()
 23      请求接口
 24      result = session.get('https://api.inews.qq.com/newsqa/v1/automation/foreign/country/ranklist')
 25      打印结果
 26      print(result.text)
 27     res = requests.get(url,1)">headers)
 28      29     response_data_0 = json.loads(res.text.replace('')[:-1])  转化json对象
 30      print(response_data_0.keys())
 31      print(response_data_0)
 32     response_data_1=response_data_0[]
 33      print(response_data_1)
 34      35      print(response_data_1[0].keys())
 36      data = jsonpath.jsonpath(resJson_1,'$.data.*')
 37      print(resJson_1.keys())
 38      for d in data:
 39          res = '日期:' + d['date'] + '--' + d['continent'] + '--' + d['name'] + '--' + '新增确诊:' + str(
 40              d['confirmAdd']) + '累计确诊:' + str(d['confirm']) + '治愈:' + str(d['heal']) + '死亡:' + str(d['dead'])
 41          file = r'C:/Users/Administrator/Desktop/world_data.txt'
 42          with open(file,'w+',encoding='utf-8') as f:
 43              f.write(res + '\n')  # 加\n换行显示
 44              f.close()
 45     world={}
 46      response_data_1:
 47         temp=i[y']+.'+i[date 48         tup = time.strptime(temp,1)">%Y.%m.%d)
 49          print(tup)
 50         dt = time.strftime(%Y-%m-%d %H:%M:%S 改变时间格式,插入数据库 日期
 51          print(dt)
 52         c_name=i[name']        国家
 53         continent=i[continent']  所属大洲
 54         nowConfirm=i[nowConfirm现有确诊
 55         confirm=i[confirm累计确诊
 56         confirmAdd=i[confirmAdd']      新增确诊
 57         suspect=i[suspect现有疑似
 58         heal=i[heal']              累计治愈
 59         dead=i[dead累计死亡
 60         confirmAddCut=i[confirmAddCut 61         confirmCompare=i[confirmCompare 62         nowConfirmCompare=i[nowConfirmCompare 63         healCompare=i[healCompare 64         deadCompare=i[deadCompare 65         world[c_name] = {dt:dt, 66                      : continent,1)"> 67                      : nowConfirm,1)"> 68                      : confirm,1)"> 69                      : confirmAdd,1)"> 70                      : suspect,1)"> 71                      : heal,1)"> 72                      : dead,1)"> 73                      : confirmAddCut,1)"> 74                      : confirmCompare,1)"> 75                      : nowConfirmCompare,1)"> 76                      : healCompare,1)"> 77                      : deadCompare,1)"> 78                      }
 79 
 80     temp = response_data_1[0]['] + ' + response_data_1[0][ 81     tup = time.strptime(temp,1)"> 82      print(tup)
 83     dt = time.strftime( 84     world[中国"] = {: dt,1)"> 85                      亚洲",1)"> 86                      ': res_china['][],1)"> 87                       88                       89                       90                       91                       92                      : 0,1)"> 93                       94                       95                       96                       97                      }
 98     return world
 99  insert_world():
100     101     更新 world 表
102     :return:
103     104     cursor = None
105     conn =106     try:
107         dic = get_world_data()
108          print(dic)
109         conn,cursor = get_conn()
110         sql = insert into world values(%s,%s,%s)"
111         sql_query = select %s=(select dt from world order by id desc limit 1)' 对比当前最大时间戳
112         cursor.execute(sql_query,dic[美国113         print(dic[114         if not cursor.fetchone()[0]:
115             print(f{time.asctime()}开始插入世界数据116             for k,v  dic.items():
117                 cursor.execute(sql,[0,v.get('),k,1)">"),1)">),1)">118                             v.get(119,1)">120                 v.get()])
121             conn.commit()   提交事务
122             {time.asctime()}插入世界数据完毕123         else124             {time.asctime()}世界数据已是最新数据!125     except126         traceback.print_exc()
127     finally128         close_conn(conn,cursor)

后台js代码(控制图表联动,给表格赋值和查询功能)

 

  1 //给表格添加数据
  2 function get_table() {
  3     $.ajax({
  4         async: true  5         url: "/table"  6          dataType:"json",
  7         success:  (data) {
  8             var table_data=data.data;
  9              alert(table_data)
 10             for(var i=0;i<table_data.length;i++){
 11                  console.log(table_data[i]);
 12             }
 13             var appendHTML = "";
 14         if($(".map-table tbody tr").length>0 15             $(".map-table tbody tr").remove();
 16         }
 17          alert(table_data.length)
 18         var i=0; i<table_data.length; i++ 19             分割日期字符串
 20             strdt=table_data[i].dt.split(" ");
 21             strdt=strdt[0]+strdt[1]+strdt[2]+strdt[3]
 22             appendHTML = "<tr align='center' style='color:aquamarine;'><td>"+
 23             strdt+"</td><td>"+
 24             table_data[i].c_name+"</td><td>"+
 25             table_data[i].confirm+"</td><td>"+
 26             table_data[i].heal+"</td><td>"+
 27             table_data[i].dead+"</td><td>"+
 28             table_data[i].nowConfirm+"</td><td>"+
 29             (i+1)+"</td></tr>" 30                 $(".map-table tbody").append(appendHTML);
 31  32  33     })
 34  35 get_table();
 36 setInterval(get_table,100000 37 地图模块
 38 (() {
var myChart = echarts.init(document.querySelector('.map .chart'))
var nameMap = 41         "Canada": "加拿大" 42         "Turkmenistan": "土库曼斯坦" 43         "Saint Helena": "圣赫勒拿" 44         "Lao PDR": "老挝" 45         "Lithuania": "立陶宛" 46         "Cambodia": "柬埔寨" 47         "Ethiopia": "埃塞俄比亚" 48         "Faeroe Is.": "法罗群岛" 49         "Swaziland": "斯威士兰" 50         "Palestine": "巴勒斯坦" 51         "Belize": "伯利兹" 52         "Argentina": "阿根廷" 53         "Bolivia": "玻利维亚" 54         "Cameroon": "喀麦隆" 55         "Burkina Faso": "布基纳法索" 56         "Aland": "奥兰群岛" 57         "Bahrain": "巴林" 58         "Saudi Arabia": "沙特阿拉伯" 59         "Fr. Polynesia": "法属波利尼西亚" 60         "Cape Verde": "佛得角" 61         "W. Sahara": "西撒哈拉" 62         "Slovenia": "斯洛文尼亚" 63         "Guatemala": "危地马拉" 64         "Guinea": "几内亚" 65         "Dem. Rep. Congo": "刚果(金)" 66         "Germany": "德国" 67         "Spain": "西班牙" 68         "Liberia": "利比里亚" 69         "Netherlands": "荷兰" 70         "Jamaica": "牙买加" 71         "Solomon Is.": "所罗门群岛" 72         "Oman": "阿曼" 73         "Tanzania": "坦桑尼亚" 74         "Costa Rica": "哥斯达黎加" 75         "Isle of Man": "曼岛" 76         "Gabon": "加蓬" 77         "Niue": "纽埃" 78         "Bahamas": "巴哈马" 79         "New Zealand": "新西兰" 80         "Yemen": "也门" 81         "Jersey": "泽西岛" 82         "Pakistan": "巴基斯坦" 83         "Albania": "阿尔巴尼亚" 84         "Samoa": "萨摩亚" 85         "Czech Rep.": "捷克" 86         "United Arab Emirates": "阿拉伯联合酋长国" 87         "Guam": "关岛" 88         "India": "印度" 89         "Azerbaijan": "阿塞拜疆" 90         "N. Mariana Is.": "北马里亚纳群岛" 91         "Lesotho": "莱索托" 92         "Kenya": "肯尼亚" 93         "Belarus": "白俄罗斯" 94         "Tajikistan": "塔吉克斯坦" 95         "Turkey": "土耳其" 96         "Afghanistan": "阿富汗" 97         "Bangladesh": "孟加拉国" 98         "Mauritania": "毛里塔尼亚" 99         "Dem. Rep. Korea": "朝鲜"100         "Saint Lucia": "圣卢西亚"101         "Br. Indian Ocean Ter.": "英属印度洋领地"102         "Mongolia": "蒙古"103         "France": "法国"104         "Cura?ao": "库拉索岛"105         "S. Sudan": "南苏丹"106         "Rwanda": "卢旺达"107         "Slovakia": "斯洛伐克"108         "Somalia": "索马里"109         "Peru": "秘鲁"110         "Vanuatu": "瓦努阿图"111         "Norway": "挪威"112         "Malawi": "马拉维"113         "Benin": "贝宁"114         "St. Vin. and Gren.": "圣文森特和格林纳丁斯"115         "Korea": "韩国"116         "Singapore": "新加坡"117         "Montenegro": "黑山共和国"118         "Cayman Is.": "开曼群岛"119         "Togo": "多哥"120         "China": "中国"121         "Heard I. and McDonald Is.": "赫德岛和麦克唐纳群岛"122         "Armenia": "亚美尼亚"123         "Falkland Is.": "马尔维纳斯群岛(福克兰)"124         "Ukraine": "乌克兰"125         "Ghana": "加纳"126         "Tonga": "汤加"127         "Finland": "芬兰"128         "Libya": "利比亚"129         "Dominican Rep.": "多米尼加"130         "Indonesia": "印度尼西亚"131         "Mauritius": "毛里求斯"132         "Eq. Guinea": "赤道几内亚"133         "Sweden": "瑞典"134         "Vietnam": "越南"135         "Mali": "马里"136         "Russia": "俄罗斯"137         "Bulgaria": "保加利亚"138         "United States": "美国"139         "Romania": "罗马尼亚"140         "Angola": "安哥拉"141         "Chad": "乍得"142         "South Africa": "南非"143         "Fiji": "斐济"144         "Liechtenstein": "列支敦士登"145         "Malaysia": "马来西亚"146         "Austria": "奥地利"147         "Mozambique": "莫桑比克"148         "Uganda": "乌干达"149         "Japan": "日本本土"150         "Niger": "尼日尔"151         "Brazil": "巴西"152         "Kuwait": "科威特"153         "Panama": "巴拿马"154         "Guyana": "圭亚那"155         "Madagascar": "马达加斯加"156         "Luxembourg": "卢森堡"157         "American Samoa": "美属萨摩亚"158         "Andorra": "安道尔"159         "Ireland": "爱尔兰"160         "Italy": "意大利"161         "Nigeria": "尼日利亚"162         "Turks and Caicos Is.": "特克斯和凯科斯群岛"163         "Ecuador": "厄瓜多尔"164         "U.S. Virgin Is.": "美属维尔京群岛"165         "Brunei": "文莱"166         "Australia": "澳大利亚"167         "Iran": "伊朗"168         "Algeria": "阿尔及利亚"169         "El Salvador": "萨尔瓦多"170         "C?te d'Ivoire": "科特迪瓦"171         "Chile": "智利"172         "Puerto Rico": "波多黎各"173         "Belgium": "比利时"174         "Thailand": "泰国"175         "Haiti": "海地"176         "Iraq": "伊拉克"177         "S?o Tomé and Principe": "圣多美和普林西比"178         "Sierra Leone": "塞拉利昂"179         "Georgia": "格鲁吉亚"180         "Denmark": "丹麦"181         "Philippines": "菲律宾"182         "S. Geo. and S. Sandw. Is.": "南乔治亚岛和南桑威奇群岛"183         "Moldova": "摩尔多瓦"184         "Morocco": "摩洛哥"185         "Namibia": "纳米比亚"186         "Malta": "马耳他"187         "Guinea-Bissau": "几内亚比绍"188         "Kiribati": "基里巴斯"189         "Switzerland": "瑞士"190         "Grenada": "格林纳达"191         "Seychelles": "塞舌尔"192         "Portugal": "葡萄牙"193         "Estonia": "爱沙尼亚"194         "Uruguay": "乌拉圭"195         "Antigua and Barb.": "安提瓜和巴布达"196         "Lebanon": "黎巴嫩"197         "Uzbekistan": "乌兹别克斯坦"198         "Tunisia": "突尼斯"199         "Djibouti": "吉布提"200         "Greenland": "丹麦"201         "Timor-Leste": "东帝汶"202         "Dominica": "多米尼克"203         "Colombia": "哥伦比亚"204         "Burundi": "布隆迪"205         "Bosnia and Herz.": "波斯尼亚和黑塞哥维那"206         "Cyprus": "塞浦路斯"207         "Barbados": "巴巴多斯"208         "Qatar": "卡塔尔"209         "Palau": "帕劳"210         "Bhutan": "不丹"211         "Sudan": "苏丹"212         "Nepal": "尼泊尔"213         "Micronesia": "密克罗尼西亚"214         "Bermuda": "百慕大"215         "Suriname": "苏里南"216         "Venezuela": "委内瑞拉"217         "Israel": "以色列"218         "St. Pierre and Miquelon": "圣皮埃尔和密克隆群岛"219         "Central African Rep.": "中非"220         "Iceland": "冰岛"221         "Zambia": "赞比亚"222         "Senegal": "塞内加尔"223         "Papua New Guinea": "巴布亚新几内亚"224         "Trinidad and Tobago": "特立尼达和多巴哥"225         "Zimbabwe": "津巴布韦"226         "Jordan": "约旦"227         "Gambia": "冈比亚"228         "Kazakhstan": "哈萨克斯坦"229         "Poland": "波兰"230         "Eritrea": "厄立特里亚"231         "Kyrgyzstan": "吉尔吉斯斯坦"232         "Montserrat": "蒙特塞拉特"233         "New Caledonia": "新喀里多尼亚"234         "Macedonia": "马其顿"235         "Paraguay": "巴拉圭"236         "Latvia": "拉脱维亚"237         "Hungary": "匈牙利"238         "Syria": "叙利亚"239         "Honduras": "洪都拉斯"240         "Myanmar": "缅甸"241         "Mexico": "墨西哥"242         "Egypt": "埃及"243         "Nicaragua": "尼加拉瓜"244         "Cuba": "古巴"245         "Serbia": "塞尔维亚"246         "Comoros": "科摩罗"247         "United Kingdom": "英国"248         "Fr. S. Antarctic Lands": "南极洲"249         "Congo": "刚果(布)"250         "Greece": "希腊"251         "Sri Lanka": "斯里兰卡"252         "Croatia": "克罗地亚"253         "Botswana": "博茨瓦纳"254         "Siachen Glacier": "锡亚琴冰川地区"
255 256     var option =257         title: {
258             text: '全球各国确诊情况'259              subtext: '累计确诊人数(截止至北京时间2020-06-09 08:30)',1)">260             left: 'center'261             textStyle: {
262                 color: 'white'
263             },1)">264             top: 'top'
265         },1)">266         tooltip: {
267             trigger: 'item'268             formatter: (params) {
269                 var value = params.value + ''270                 return params.seriesName + '<br/>' + params.name + ' : ' + value + '人'271 272 273         visualMap: {
274             min: 0275             max: 1000000276             text: ['High','Low'],两端的文本
277             realtime: false278             calculable: 279 280                 color: 'white'
281 282             color: ['#481380','#7f78d2','#efb1ff','#ffe2ff'283 284         series: [{
285             name: '累计确诊人数'286             type: 'map'287             mapType: 'world'288             roam: 289             zoom:1.2290             itemStyle: {
291                 normal: {
292                     areaColor: '#f0fcd5'293                     borderColor: 'rgb(0,108,255)'294                 },1)">295                 emphasis: {
296                     地图里文字的样式
297                     label: {
298                         textStyle:{
299                             size: 18300                         },1)">301                         show: 302                         color: 'black'
303                     },1)">304                     areaColor: '#fce8d5'
305                 }
306 307             nameMap: nameMap,1)">308              data:
309         }]
310     };
311      把配置和数据给实例对象
312     myChart.setOption(option);
313     var virus =314 315         url: '/table'316          type: 'get',1)">317          data: {},1)">318         dataType: 'json'319         success: (data) {
320             var num = data.data
321             for (var i = 0; i < num.length; i++) {
322                 virus.push({ name: num[i].c_name,value: num[i].confirm })
323 324              myChart.hideLoading()
325             必须在这里在设置一遍,这里涉及到的问题不太懂,只知道如不再设置,而在ajax外赋值是没有作用的
326             myChart.setOption({ 加载数据图表
327                 series: [{
328                      根据名字对应到相应的系列
329                     data: virus
330                 }]
331             })
332 333 334     window.addEventListener('resize',1)">335         myChart.resize()
336 337     实现鼠标放到地图上相应表格高亮
338     $.ajax
339     ({
340         async: 341         url: "/table"342         343         success:  (data)
344         {
345             var table_data = data.data;
346             347             var i = 0; i < table_data.length; i++348                 console.log(table_data[i]);
349 350 
351               移入该区域时,高亮
352             myChart.on('mouseOver',1)"> (params) {
353                 console.log(params);此处写点击事件内容
354                 355                      data11[i].value="0";
356                     if (params.name == table_data[i].c_name) {
357                         测试如果鼠标放到哪个国家,就弹出哪个国家的名字
358                           alert(params.name)
359                          console.log(params.name);
360                         addressList[i].value="1";
361                         选中高亮
362                         $("#bd_data").children().eq(i).css("background","rgba(176,1)"363                     }
364 365             });
366               移出该区域时,取消高亮
367             myChart.on('mouseOut',1)">368                 console.log(params);此处写点击事件内容
369                 370                     371                     372                         测试如果鼠标离开哪个国家,就弹出哪个国家的名字
373                           alert("离开"+params.name)
374                         375                         取消高亮
376                         $("#bd_data").children().eq(i).css("background",0.1)"377                     }
378                 }
379 380             下面控制鼠标放到表格上地图高亮
381              if ("美国" == table_data[i].c_name)
382              {
383             $("#bd_data").find('tr').mouseenter( ()
384             { alert("!!!")\
385                  var hang = $(this).prevAll().length;
386                 myChart.dispatchAction({type: 'highlight',name: table_data[hang].c_name});高亮
387 388 
389             $("#bd_data").find('tr').mouseleave(390             {
391                 392                 myChart.dispatchAction({type: 'downplay',1)">393 394                  }
395 396 397 
398      $.ajax({
399         async: true,1)">400         url: "/table",1)">401         // dataType:"json",1)">402         success: function (data)
403 404              var table_data=data.data;
405             // 鼠标移入的第几行数据
406 
407 408      })409 })();
410 查询js
411  find_res(){
412     var cname;
413      $.ajax
414      ({
415          method:"post",  
416          url:"http://localhost:8080/PycharmProjects/Cov/templates/world.html?_ijt=q6ulfhihrfp8rqkl8id73svio3",1)">417          success:function(data)
418          {
419              //form表单数据的转化,转化成[ { name:,value:   },{ name:,value:   } ]
420              all=$('#find_value').serializeArray()
421              // console.log(all['cname'])
422              console.log(all[0])
423              cname=all[0]['value']
424              alert(cname)
425          }
426      })
427     cname=document.getElementById("cname").value
428     $.ajax(
429 430             sync:431             url:"/find_worldByName"432             data:{name:cname},1)">433             success:434 435                 table_data=436                 437                 {
438                 439 440             441         442             $(".map-table tbody tr"443 444         445         446 447             分割日期字符串
448             strdt=table_data[i][1].split(" "449             strdt=strdt[0]+strdt[1]+strdt[2]+strdt[3450             appendHTML = "<tr align='center' style='color:aquamarine;'><td>"+
451             strdt+"</td><td>"+
452             table_data[i][2]+"</td><td>"+
453             table_data[i][5]+"</td><td>"+
454             table_data[i][8]+"</td><td>"+
455             table_data[i][9]+"</td><td>"+
456             table_data[i][4]+"</td><td>"+
457             (i+1)+"</td></tr>"458                 $(".map-table tbody"459          }
460 461 462     )
463 }

flask路由(查询)

根据国家的名字查询
2 @app.route(/find_worldByName3  find_worldByName():
4     获取用户传来的数据
5     res=[]
6     name = request.values.get(7     res=utils.find_worldByName(name)
8     print(res)
return jsonify({": res})

 

Tomorrow the birds will sing.

原文地址:https://www.cnblogs.com/rainbow-1

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


使用OpenCV实现视频去抖 整体步骤: 设置输入输出视频 寻找帧之间的移动:使用opencv的特征检测器,检测前一帧的特征,并使用Lucas-Kanade光流算法在下一帧跟踪这些特征,根据两组点,将前一个坐标系映射到当前坐标系完成刚性(欧几里得)变换,最后使用数组纪录帧之间的运动。 计算帧之间的平
前言 对中文标题使用余弦相似度算法和编辑距离相似度分析进行相似度分析。 准备数据集part1 本次使用的数据集来源于前几年的硕士学位论文,可根据实际需要更换。结构如下所示: 学位论文题名 基于卷积神经网络的人脸识别研究 P2P流媒体视频点播系统设计和研究 校园网安全体系的设计与实现 无线传感器网络中
前言 之前尝试写过一个爬虫,那时对网页请求还不够熟练,用的原理是:爬取整个html文件,然后根据标签页筛选有效信息。 现在看来这种方式无疑是吃力不讨好,因此现在重新写了一个爬取天气的程序。 准备工作 网上能轻松找到的是 101010100 北京这种编号,而查看中国气象局URL,他们使用的是北京545
前言 本文使用Python实现了PCA算法,并使用ORL人脸数据集进行了测试并输出特征脸,简单实现了人脸识别的功能。 1. 准备 ORL人脸数据集共包含40个不同人的400张图像,是在1992年4月至1994年4月期间由英国剑桥的Olivetti研究实验室创建。此数据集包含40个类,每个类含10张图
前言 使用opencv对图像进行操作,要求:(1)定位银行票据的四条边,然后旋正。(2)根据版面分析,分割出小写金额区域。 图像校正 首先是对图像的校正 读取图片 对图片二值化 进行边缘检测 对边缘的进行霍夫曼变换 将变换结果从极坐标空间投影到笛卡尔坐标得到倾斜角 根据倾斜角对主体校正 import
天气预报API 功能 从中国天气网抓取数据返回1-7天的天气数据,包括: 日期 天气 温度 风力 风向 def get_weather(city): 入参: 城市名,type为字符串,如西安、北京,因为数据引用中国气象网,因此只支持中国城市 返回: 1、列表,包括1-7的天气数据,每一天的分别为一个
数据来源:House Prices - Advanced Regression Techniques 参考文献: Comprehensive data exploration with Python 1. 导入数据 import pandas as pd import warnings warnin
同步和异步 同步和异步是指程序的执行方式。在同步执行中,程序会按顺序一个接一个地执行任务,直到当前任务完成。而在异步执行中,程序会在等待当前任务完成的同时,执行其他任务。 同步执行意味着程序会阻塞,等待任务完成,而异步执行则意味着程序不会阻塞,可以同时执行多个任务。 同步和异步的选择取决于你的程序需
实现代码 import time import pydirectinput import keyboard if __name__ == &#39;__main__&#39;: revolve = False while True: time.sleep(0.1) if keyboard.is_pr
本文从多个角度分析了vi编辑器保存退出命令。我们介绍了保存和退出vi编辑器的命令,以及如何撤销更改、移动光标、查找和替换文本等实用命令。希望这些技巧能帮助你更好地使用vi编辑器。
Python中的回车和换行是计算机中文本处理中的两个重要概念,它们在代码编写中扮演着非常重要的角色。本文从多个角度分析了Python中的回车和换行,包括回车和换行的概念、使用方法、使用场景和注意事项。通过本文的介绍,读者可以更好地理解和掌握Python中的回车和换行,从而编写出更加高效和规范的Python代码。
SQL Server启动不了错误1067是一种比较常见的故障,主要原因是数据库服务启动失败、权限不足和数据库文件损坏等。要解决这个问题,我们需要检查服务日志、重启服务器、检查文件权限和恢复数据库文件等。在日常的数据库运维工作中,我们应该时刻关注数据库的运行状况,及时发现并解决问题,以确保数据库的正常运行。
信息模块是一种可重复使用的、可编程的、可扩展的、可维护的、可测试的、可重构的软件组件。信息模块的端接需要从接口设计、数据格式、消息传递、函数调用等方面进行考虑。信息模块的端接需要满足高内聚、低耦合的原则,以保证系统的可扩展性和可维护性。
本文从电脑配置、PyCharm版本、Java版本、配置文件以及程序冲突等多个角度分析了Win10启动不了PyCharm的可能原因,并提供了解决方法。
本文主要从多个角度分析了安装SQL Server 2012时可能出现的错误,并提供了解决方法。
Pycharm是一款非常优秀的Python集成开发环境,它可以让Python开发者更加高效地进行代码编写、调试和测试。在Pycharm中设置解释器非常简单,我们可以通过创建新项目、修改项目解释器、设置全局解释器等多种方式进行设置。
Python中有多种方法可以将字符串转换为整数,包括使用int()函数、try-except语句、正则表达式、map()函数、ord()函数和reduce()函数。在实际应用中,应根据具体情况选择最合适的方法。
本文介绍了导入CSV文件的多种方法,包括使用Excel、Python和R等工具。同时,还介绍了导入CSV文件时需要注意的一些细节和问题。CSV文件是数据处理和分析中不可或缺的一部分,希望本文能够对读者有所帮助。
mongodb是一种新型的数据库,它采用了面向文档的数据模型,具有灵活性、高性能和高可用性等优势。但是,mongodb也存在数据结构混乱、安全性和学习成本高等问题。
当Python运行不了时,我们应该从代码、Python环境、操作系统和硬件设备等多个角度来排查问题,并采取相应的解决措施。