目录

  • 旗帜图片链接
  • 从列表中取出文字和对应旗帜链接
  • 将图片通过链接请求保存在本地(img文件夹需提前创建好)
  • 通过for循环遍历取出所有国家及地区的旗帜

通过爬虫获取旗帜链接URL,爬虫代码详情见:数据爬虫及可视化——东京奥运会奖牌榜

旗帜图片链接

#国家及地区名,旗帜图片url
imgs = [{'中国': 'https://sports3.gtimg.com/kokyooly/noc/26.png'}, {'美国': 'https://sports3.gtimg.com/kokyooly/noc/5.png'}, {'日本': 'https://sports3.gtimg.com/kokyooly/noc/18.png'}, {'澳大利亚': 'https://sports3.gtimg.com/kokyooly/noc/157.png'}, {'俄罗斯奥委会': 'https://sports3.gtimg.com/kokyooly/noc/23062.png'}, {'英国': 'https://sports3.gtimg.com/kokyooly/noc/211.png'}, {'德国': 'https://sports3.gtimg.com/kokyooly/noc/2.png'}, {'法国': 'https://sports3.gtimg.com/kokyooly/noc/144.png'}, {'荷兰': 'https://sports3.gtimg.com/kokyooly/noc/1.png'}, {'韩国': 'https://sports3.gtimg.com/kokyooly/noc/106.png'}, {'新西兰': 'https://sports3.gtimg.com/kokyooly/noc/158.png'}, {'意大利': 'https://sports3.gtimg.com/kokyooly/noc/6.png'}, {'匈牙利': 'https://sports3.gtimg.com/kokyooly/noc/28.png'}, {'巴西': 'https://sports3.gtimg.com/kokyooly/noc/16.png'}, {'古巴': 'https://sports3.gtimg.com/kokyooly/noc/169.png'}, {'捷克': 'https://sports3.gtimg.com/kokyooly/noc/17.png'}, {'加拿大': 'https://sports3.gtimg.com/kokyooly/noc/159.png'}, {'瑞士': 'https://sports3.gtimg.com/kokyooly/noc/149.png'}, {'克罗地亚': 'https://sports3.gtimg.com/kokyooly/noc/89.png'}, {'中国台北': 'https://sports3.gtimg.com/kokyooly/noc/31.png'}, {'瑞典': 'https://sports3.gtimg.com/kokyooly/noc/154.png'}, {'波兰': 'https://sports3.gtimg.com/kokyooly/noc/150.png'}, {'丹麦': 'https://sports3.gtimg.com/kokyooly/noc/152.png'}, {'牙买加': 'https://sports3.gtimg.com/kokyooly/noc/248.png'}, {'斯洛文尼亚': 'https://sports3.gtimg.com/kokyooly/noc/30.png'}, {'挪威': 'https://sports3.gtimg.com/kokyooly/noc/153.png'}, {'厄瓜多尔': 'https://sports3.gtimg.com/kokyooly/noc/220.png'}, {'希腊': 'https://sports3.gtimg.com/kokyooly/noc/171.png'}, {'乌兹别克斯坦': 'https://sports3.gtimg.com/kokyooly/noc/15.png'}, {'科索沃': 'https://sports3.gtimg.com/kokyooly/noc/6913.png'}, {'卡塔尔': 'https://sports3.gtimg.com/kokyooly/noc/278.png'}, {'西班牙': 'https://sports3.gtimg.com/kokyooly/noc/145.png'}, {'格鲁吉亚': 'https://sports3.gtimg.com/kokyooly/noc/163.png'}, {'罗马尼亚': 'https://sports3.gtimg.com/kokyooly/noc/164.png'}, {'委内瑞拉': 'https://sports3.gtimg.com/kokyooly/noc/162.png'}, {'斯洛伐克': 'https://sports3.gtimg.com/kokyooly/noc/14.png'}, {'中国香港': 'https://sports3.gtimg.com/kokyooly/noc/38.png'}, {'南非': 'https://sports3.gtimg.com/kokyooly/noc/178.png'}, {'印尼': 'https://sports3.gtimg.com/kokyooly/noc/85.png'}, {'塞尔维亚': 'https://sports3.gtimg.com/kokyooly/noc/107.png'}, {'奥地利': 'https://sports3.gtimg.com/kokyooly/noc/151.png'}, {'埃塞俄比亚': 'https://sports3.gtimg.com/kokyooly/noc/222.png'}, {'比利时': 'https://sports3.gtimg.com/kokyooly/noc/147.png'}, {'突尼斯': 'https://sports3.gtimg.com/kokyooly/noc/166.png'}, {'菲律宾': 'https://sports3.gtimg.com/kokyooly/noc/130.png'}, {'土耳其': 'https://sports3.gtimg.com/kokyooly/noc/33.png'}, {'爱尔兰': 'https://sports3.gtimg.com/kokyooly/noc/19.png'}, {'以色列': 'https://sports3.gtimg.com/kokyooly/noc/29.png'}, {'爱沙尼亚': 'https://sports3.gtimg.com/kokyooly/noc/8.png'}, {'拉脱维亚': 'https://sports3.gtimg.com/kokyooly/noc/9.png'}, {'伊朗': 'https://sports3.gtimg.com/kokyooly/noc/87.png'}, {'斐济': 'https://sports3.gtimg.com/kokyooly/noc/267.png'}, {'白俄罗斯': 'https://sports3.gtimg.com/kokyooly/noc/103.png'}, {'百慕大': 'https://sports3.gtimg.com/kokyooly/noc/260.png'}, {'泰国': 'https://sports3.gtimg.com/kokyooly/noc/101.png'}, {'波多黎各': 'https://sports3.gtimg.com/kokyooly/noc/277.png'}, {'摩洛哥': 'https://sports3.gtimg.com/kokyooly/noc/172.png'}, {'哥伦比亚': 'https://sports3.gtimg.com/kokyooly/noc/12.png'}, {'多米尼加共和国': 'https://sports3.gtimg.com/kokyooly/noc/141.png'}, {'亚美尼亚': 'https://sports3.gtimg.com/kokyooly/noc/213.png'}, {'乌克兰': 'https://sports3.gtimg.com/kokyooly/noc/13.png'}, {'蒙古': 'https://sports3.gtimg.com/kokyooly/noc/173.png'}, {'葡萄牙': 'https://sports3.gtimg.com/kokyooly/noc/10.png'}, {'圣马力诺': 'https://sports3.gtimg.com/kokyooly/noc/175.png'}, {'吉尔吉斯斯坦': 'https://sports3.gtimg.com/kokyooly/noc/124.png'}, {'尼日利亚': 'https://sports3.gtimg.com/kokyooly/noc/93.png'}, {'印度': 'https://sports3.gtimg.com/kokyooly/noc/227.png'}, {'乌干达': 'https://sports3.gtimg.com/kokyooly/noc/249.png'}, {'肯尼亚': 'https://sports3.gtimg.com/kokyooly/noc/229.png'}, {'土库曼斯坦': 'https://sports3.gtimg.com/kokyooly/noc/285.png'}, {'约旦': 'https://sports3.gtimg.com/kokyooly/noc/123.png'}, {'北马其顿': 'https://sports3.gtimg.com/kokyooly/noc/231.png'}, {'保加利亚': 'https://sports3.gtimg.com/kokyooly/noc/148.png'}, {'纳米比亚': 'https://sports3.gtimg.com/kokyooly/noc/273.png'}, {'墨西哥': 'https://sports3.gtimg.com/kokyooly/noc/156.png'}, {'哈萨克斯坦': 'https://sports3.gtimg.com/kokyooly/noc/160.png'}, {'阿塞拜疆': 'https://sports3.gtimg.com/kokyooly/noc/214.png'}, {'埃及': 'https://sports3.gtimg.com/kokyooly/noc/170.png'}, {'加纳': 'https://sports3.gtimg.com/kokyooly/noc/83.png'}, {'马来西亚': 'https://sports3.gtimg.com/kokyooly/noc/232.png'}, {'阿根廷': 'https://sports3.gtimg.com/kokyooly/noc/24.png'}, {'科威特': 'https://sports3.gtimg.com/kokyooly/noc/230.png'}, {'科特迪瓦': 'https://sports3.gtimg.com/kokyooly/noc/88.png'}, {'芬兰': 'https://sports3.gtimg.com/kokyooly/noc/161.png'}]

从列表中取出文字和对应旗帜链接

#将封装在列表中字典的键和值分别取出
for img in imgs:#img是字典,通过img.keys(),img.values()分别取出字典中所有键和值#键和值分别是dict_keys类型和dict_values类型print(type(img.keys()),type(img.values()))#使用list()方法将dict_keys类型转换为list,再取列表的第一个值。dict_values类似。print(list(img.keys())[0],list(img.values())[0])

将图片通过链接请求保存在本地(img文件夹需提前创建好)

import os,base64
import requests as req
from PIL import Image
from io import BytesIOfor img in imgs:url = list(img.values())[0]name = list(img.keys())[0]#请求图片信息image= requests.get(url)# 图片的base64编码ls_f = base64.b64encode(BytesIO(image.content).read())# base64编码解码imgdata = base64.b64decode(ls_f)# 图片文件保存print(name+ '.jpg 正在保存...')with open('./img/' + name+'.jpg', 'wb')as fp:fp.write(imgdata)


通过for循环遍历取出所有国家及地区的旗帜

将地址

https://sports3.gtimg.com/kokyooly/noc/26.png

换成

https://sports3.gtimg.com/kokyooly/noc/{}.png

得到所有的地址:

urls = []
for i in range(350):url = "https://sports3.gtimg.com/kokyooly/noc/{}.png".format(i)urls.append(url)
print(urls)

import os,base64
import requests as req
from PIL import Image
from io import BytesIO
r = 1
for url in urls:#请求图片信息try:image= requests.get(url)except:print(str(r)+ '.jpg 不存在...')else:# 图片的base64编码ls_f = base64.b64encode(BytesIO(image.content).read())# base64编码解码imgdata = base64.b64decode(ls_f)# 图片文件保存print(str(r)+ '.jpg 正在保存...')with open('./imgs/' +str(r)+'.jpg', 'wb')as fp:fp.write(imgdata)finally:r = r+1

(源码下载地址)

数据爬取东京奥运会获得奖牌国家及地区旗帜图片相关推荐

  1. Python 爬取东京奥运会奖牌榜!中国原来这么厉害!

    需求分析 我们要爬取的是 2020东京奥运会奖牌榜. (截至 2021/8/2 下午 17:30) 右键单击网页,选择"检查",调出开发者界面.然后点击右侧选项卡中的"网 ...

  2. 爬取东京奥运会实时的金牌数量并制成excel表格

    先找到有关奖牌信息的链接 https://tiyu.baidu.com/tokyoly/home/tab/奖牌榜/from/pc 运行后发现返回值为[200],则成功响应,可以直接爬取 写完代码后im ...

  3. 基于python的自媒体和官媒数据爬取、可视化分析及云词图制作

    创作不易,如果以下内容对你有帮助,别忘了点一个赞,让更多的小伙伴能看到吧~~ 1. 问题描述 为了研究自媒体和官媒的传播新闻<武汉快递小哥汪勇的先进事迹>的及时性和传播力度,对比两种传播途 ...

  4. UN Comtrade(联合国商品贸易统计数据库)数据爬取Python代码

    目录 Python代码 根据需求改写url 报错应对办法 UN Comtrade数据库关于中国台湾的数据 2021/9/28更新:最近有用户反馈下载会出现错误内容如下图,感谢用户@三眼皮138帮忙找出 ...

  5. UN Comtrade(联合国商品贸易统计数据库)数据爬取Python代码——使用动态IP

    目录 Virtual Private Network 代理服务器 测试代理IP是否生效 上一篇博文UN Comtrade(联合国商品贸易统计数据库)数据爬取Python代码讲了如何使用Python爬取 ...

  6. 手把手教-网络时空大数据爬取与分析DAS系统(瓦片地图获取)

    手把手教 | 网络时空大数据爬取与分析DAS系统(瓦片地图获取) 原创 DAS Team 双评价DAS 地理计算语言,为大众赋能地理智慧. --DAS Team 爬取分析DAS系统下载 地址: htt ...

  7. (五) 爬虫教程 |Ajax 数据爬取

    一.前言 有时候我们在用 requests 抓取页面的时候,得到的结果可能和在浏览器中看到的不一样:在浏览器中可以看到正常显示的页面数据,但是使用 requests 得到的结果并没有,这是因为requ ...

  8. 网络爬虫分析实例:基于音悦台网站榜单的数据爬取与分析

    基于音悦台网站榜单的数据爬取与分析 本实验代码:进入 一.研究背景 在互联网发展初期,网站相对较少,信息查找比较容易.然而伴随互联网爆炸性的发展,普通网络用户想找到所需的资料简直如同大海捞针,这时为满 ...

  9. (一)基础:通过简单HTTP请求和正则进行数据爬取解析

    (一)基础:通过简单HTTP请求和正则进行数据爬取解析 文章目录 (一)基础:通过简单HTTP请求和正则进行数据爬取解析 发送简单http请求 如何使用代理ip发送请求 常用的User-Agent 发 ...

最新文章

  1. javaweb项目开发日志的原理,方式
  2. 下列选项中 采用边界值平滑_使用Illustrator中的混合工具创建很有个性的蛋宝宝...
  3. 【转载】PHP的(EOT)在PHP中添加html
  4. python 列表常用操作(二)
  5. react-native run-android报错的原因,SDK位置未指定
  6. 统计学第二章--感知机
  7. [转载] 【零基础学爬虫】python中的yield详解
  8. 实现算法2.11、2.12的程序
  9. 用virt-manager管理远程KVM虚拟机
  10. Java学习路线(完整详细版)
  11. python 弹窗选择文件并获取文件路径
  12. dell最新计算机如何U盘引导,详解戴尔台式电脑如何bios设置U盘启动
  13. 水平面:篡命铜钱の1
  14. 5G与人工智能有什么关系?
  15. 网络管理维护(SNMP、RMON)期末考试大纲总结
  16. 如何画好架构图详解(建议收藏)
  17. 【每日一题】把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5]
  18. TSC打印机ttp-247(java)
  19. 如何快速干净的卸载mysql数据库,不影响下次安装
  20. web页面调用打印机不预览直接执行打印

热门文章

  1. 用QUARTUS13.0自带仿真工具进行仿真
  2. “早安、午安、晚安” Game Jam
  3. 格式塔(Gestalt)原理
  4. Eclipse中关联并调试JDK源码
  5. 2022-2028年中国人用狂犬病疫苗行业市场调查研究及投资策略研究报告
  6. 极智AI | 昇腾 CANN ATC 模型转换
  7. 毫米波雷达,智能照明+人体存在感应
  8. Xshell远程连接
  9. qss使用及优先级关系
  10. 女人如何搞副业?女人做什么副业好点?适合女性上班族的副业