世界杯可视化 之 国家地区国旗

分类: 约彩365app下载 时间: 2026-06-18 06:12:51 作者: admin 阅读: 658 点赞: 125
世界杯可视化 之 国家地区国旗

再过几个小时,四年一度的世界杯揭幕战就要打响了。个人认为本届世界杯的视觉设计,比2010南非、2014巴西和2018俄罗斯都要好看。时尚大气,又有不少异域的元素。

相信不少读者朋友已经迫不及待想用Power BI做一些可视化的东西。我这就抢先助攻一波:

向公众号发消息【国旗】,即可获得全球211个国家地区的国旗区旗、卡塔尔世界杯IP指南

这套材料包含了:

卡塔尔世界杯IP指南SVG格式国旗AI格式国旗PNG格式3种大小尺寸(2048px、256px和64px)的国旗区旗各国国旗URL列表

那么参考以下3篇推文,你就可以轻松地在Power BI上进行国旗区旗可视化啦。

PowerBI图片用法综述

一键解决Power BI本地图片显示问题Power BI图片控件介绍

-----------------------------------------------------------------------------

国旗图片来源这个网站:https://flagdownload.com/

点击图标进去,可以看到有丰富的格式可供下载。

为了给大家准备这份资料,我点了211*6=1266次鼠标。

借助Python的BeautifulSoup库,可以轻松地下载所需的图片。核心代码如下,第一部分,先遍历获得国家页面的URL。

代码语言:javascript复制import requests

import pandas as pd

import numpy as np

from bs4 import BeautifulSoup

#%% 遍历获取每个国家页面的url

main_url="https://flagdownload.com/page/"

href=[]

country=[]

for j in range(6): # 页数

try:

res = requests.get("https://flagdownload.com/page/"+str(j+1)+"/") #模拟get请求获取链接返回的内容

soup = BeautifulSoup(res.text, 'html.parser')#前面已经介绍将html文档格式化为一个树形结构,每个节点都是一个对python对象,方便获取节点内容

articles=soup.find_all("article") # 解析为每个国旗记录的列表

for k in range(0,len(articles)):

tr=articles[k]

href.append(tr.find("a")["href"])

country.append(tr.find("h2").get_text())

except:

pass

# 创建国家列表

df=pd.DataFrame({"country":country,"url":href})第二部分,再从国家地区页面进去解析下载所需的图片

代码语言:javascript复制for j in range(df.shape[0]): # 遍历国家

country_url=df['url'].iloc[j]

country_name=df['country'].iloc[j]

res = requests.get(country_url) #模拟get请求获取链接返回的内容

soup = BeautifulSoup(res.text, 'html.parser')#前面已经介绍将html文档格式化为一个树形结构,每个节点都是一个对python对象,方便获取节点内容

try:

# svg格式

svg_url=soup.find(lambda elm: elm.name == "a" and "SVG" in elm.text)['href']

r=requests.request('get',svg_url)

with open(svg_path+"/" + country_name +'.svg','wb') as f:

f.write(r.content)

except:

pass

相关推荐